Подтвердить что ты не робот

Проверьте, является ли запрос GET или POST

В моем контроллере/действии:

if(!empty($_POST))
{
    if(Auth::attempt(Input::get('data')))
    {
        return Redirect::intended();
    }
    else
    {
        Session::flash('error_message','');
    }
}

Есть ли метод в Laravel для проверки, является ли запрос POST или GET?

4b9b3361

Ответ 1

Конечно, есть способ узнать тип запроса, Но вместо этого вы должны определить маршрут, который обрабатывает запросы POST, поэтому вам не нужен условный оператор.

routes.php

Route::post('url', [email protected]);

внутри вас контроллер/действие

if(Auth::attempt(Input::get('data')))
{
   return Redirect::intended();
}
//You don't need else since you return.
Session::flash('error_message','');

То же самое относится к запросу GET.

Route::get('url', [email protected]);

Ответ 2

В соответствии с Laravels docs существует метод Request для его проверки, поэтому вы можете просто сделать:

$method = Request::method();

или

if (Request::isMethod('post'))
{
// 
}

Ответ 3

Вышеупомянутые решения устарели.

Как Документация Laravel:

$method = $request->method();

if ($request->isMethod('post')) {
    //
}

Ответ 4

Используйте Request::getMethod(), чтобы получить метод, используемый для текущего запроса, но это должно быть редко необходимо, так как Laravel назовет правильный метод вашего контроллера в зависимости от типа запроса (т.е. getFoo() для GET и postFoo() для POST).

Ответ 5

$_SERVER['REQUEST_METHOD'] для этого.

Он возвращает одно из следующих значений:

  • 'GET'
  • 'голова'
  • 'POST'
  • 'PUT'