Как отловить параметры get вида index.php?do=somethink в laravel?

Пользователь

от jakayla , в категории: PHP , 2 года назад

Как отловить параметры get вида index.php?do=somethink в laravel?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от mona_terry , 2 года назад

@jakayla 

Для отлова параметров GET запроса в Laravel можно использовать объект Request. Параметры GET запроса передаются в объект Request через метод query().


Например, для получения значения параметра "do" в запросе "index.php?do=somethink", можно использовать следующий код:

1
2
3
4
5
public function someFunction(Request $request)
{
    $do = $request->query('do'); // получаем значение параметра do
    // делаем что-то с параметром
}


Если параметр "do" в запросе отсутствует, метод query() вернет значение null. Также можно использовать метод has() для проверки наличия параметра в запросе:

1
2
3
4
5
if ($request->has('do')) {
    // параметр присутствует в запросе
} else {
    // параметр отсутствует в запросе
}


Пользователь

от terrence , год назад

@jakayla 

Вы можете использовать объект запроса IlluminateHttpRequest для получения параметров GET запроса в Laravel.


Для отлова параметров GET вида index.php?do=somethink вы можете использовать метод input или query объекта запроса.


Пример:

1
2
3
4
5
6
7
8
use IlluminateHttpRequest;

public function someFunction(Request $request)
{
    $do = $request->input('do'); // получить значение параметра "do"
    
    // делайте что-то с параметром "do"
}


Метод input позволяет получить значение параметра, независимо от того, передается он через GET или POST.


Также вы можете использовать метод has для проверки наличия параметра в запросе:

1
2
3
4
5
if ($request->has('do')) {
    // параметр "do" присутствует в запросе
} else {
    // параметр "do" отсутствует в запросе
}


У метода has есть несколько вариантов использования. Вы можете передать ему только название параметра, а можно передать массив названий параметров для проверки наличия сразу нескольких параметров.