Vérifier si la requête est GET ou POST

Dans mon controller/action:

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

Est-il une méthode Laravel pour vérifier si la requête est POST ou GET?

25
demandé sur Cilan 2014-01-11 20:11:09

5 réponses

bien sûr, il existe une méthode pour déterminer le type de la requête, Mais a la place vous devez définir un route qui gère POST demandes, donc vous n'avez pas besoin d'une instruction conditionnelle.

itinéraires.php

Route::post('url', YourController@yourPostMethod);

à l'intérieur de vous controller/action

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

il en va de même pour GET demande.

Route::get('url', YourController@yourGetMethod);
8
répondu giannis christofakis 2016-03-30 07:19:00

Selon Laravels docs, il y a une Demande de la méthode pour le vérifier, vous pouvez donc faire:

$method = Request::method();

ou

if (Request::isMethod('post'))
{
// 
}
128
répondu Tom 2014-02-12 11:44:27

Les solutions ci-dessus sont dépassées.

par Laravel documentation:

$method = $request->method();

if ($request->isMethod('post')) {
    //
}
31
répondu hubrik 2016-02-03 02:51:20

Utiliser Request::getMethod() pour obtenir la méthode utilisée pour la requête courante, mais cela devrait être rarement nécessaire car Laravel appellerait la bonne méthode de votre controller, en fonction du type de requête (i.e. getFoo() pour OBTENIR et postFoo() pour la poste).

6
répondu Marcin Orlowski 2014-01-11 16:49:41

$_SERVER['REQUEST_METHOD'] est utilisé pour cela.

Il retourne l'une des opérations suivantes:

  • 'GET'
  • 'HEAD'
  • 'POST'
  • 'PUT'
3
répondu Pierre Emmanuel Lallemant 2018-07-03 14:56:13