Проверьте, является ли запрос GET или POST
В моем контроллере/действии:
if(!empty($_POST))
{
if(Auth::attempt(Input::get('data')))
{
return Redirect::intended();
}
else
{
Session::flash('error_message','');
}
}
Есть ли метод в Laravel
для проверки, является ли запрос POST
или GET
?
Ответы
Ответ 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'