Maison  >  Article  >  cadre php  >  Requête HTTP laravel : obtenir les informations d'entrée

Requête HTTP laravel : obtenir les informations d'entrée

齐天大圣
齐天大圣original
2020-12-14 19:02:141927parcourir

Obtenir des commentaires dans le framework Laravel est très pratique. Il fournit une variété de méthodes pour obtenir des commentaires.

Utilisez l'instance IlluminateHttpRequest dans Laravel pour accepter la demande, comme suit

use Illuminate\Http\Request;

$request = new Request();
echo $request->method();

peut utiliser une méthode d'injection automatique simple, utilisez ce qui suit :

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

class IndexController extends Controller
{
    public function index (Request $request)
    {
        dump($request->method());    
    }
}

Obtenir le chemin de la requête et la méthode de requête

L'obtention de la méthode de requête est très simple, il suffit d'utiliser la méthode méthode. De plus, il existe une méthode pour déterminer l'action de la requête en cours isMethod

if ($request->isMethod(&#39;post&#39;)) {
    // ...
}

Il existe plusieurs méthodes pour obtenir le chemin de la requête, et il existe des différences entre elles. Par exemple, pour une adresse URL : http://. example.com/ path1/path2?a=23&b=3, les valeurs pouvant être obtenues par les trois méthodes sont les suivantes :

  • path() : Récupère le chemin, path1/path2

  • url() : Obtenez l'adresse URL, mais ne la contient pas ? et la chaîne suivante. http://example.com/path1/path2

  • fullUrl() : obtenez le chemin complet. http://example.com/path1/path2?a=23&b=3

Obtenir des commentaires

ci-dessous Obtenez des commentaires sous plusieurs aspects, tels que l'obtention de toutes les entrées ou l'obtention d'une seule entrée pour obtenir une partie de l'entrée, etc.

Obtenir toutes les entrées

Il existe deux façons d'obtenir toutes les entrées, all() et input(). Ne pas ajouter de paramètres à l'entrée signifie tout accepter :

$request->all();
// or
$request->input();

Obtenir une entrée

Obtenir une entrée utilise également entrée méthode, mais donnez le premier paramètre, qui représente la valeur du champ à obtenir.

$request->input(&#39;name&#39;);

input peut également accepter un deuxième paramètre, qui est la valeur par défaut définie lorsqu'aucune valeur de champ n'est obtenue. Par exemple :

$request->input(&#39;name&#39;, &#39;php.cn&#39;);

De plus, la saisie peut également obtenir des valeurs numériques et des données json Lors de l'obtention, utilisez l'opérateur «.»

$request->input(&#39;users.name&#39;);
$request->input(&#39;users.0.name&#39;);
$request->input(&#39;users.*.name&#39;);

En plus de. la méthode de saisie, il existe également une méthode query qui peut également obtenir une entrée, mais la différence entre elles est que l'entrée peut obtenir une entrée à partir du formulaire et de la chaîne de requête, tandis que la méthode de requête ne peut obtenir qu'une entrée à partir de la chaîne de requête. L'utilisation de la méthode de requête et de la méthode de saisie est la même, elles ne seront donc pas démontrées ici.

Il existe également une méthode simple pour obtenir une entrée, appelée obtention dynamique d'une entrée, qui peut obtenir une entrée directement via des attributs. Par exemple, si le formulaire contient un champ de nom, vous pouvez obtenir

$request->name;

via la méthode suivante. Cependant, il convient de noter que Laravel recherchera d'abord les paramètres dans le corps de la requête. Si la valeur n'existe pas, elle est recherchée à partir des paramètres de l'itinéraire.

Obtenir une valeur booléenne

Laravel fournit une fonction qui obtient la valeur du champ et la convertit activement en valeur de type booléen. La méthode est booléenne.

if ($request->boolean(&#39;name&#39;)) {
    // ...
}

Juger si une valeur existe

Il existe plusieurs façons de juger si une valeur d'entrée existe, et l'utilisation est légèrement différente. has et filled peuvent être utilisés pour déterminer si la valeur d'entrée existe, mais la différence est la suivante : has renvoie true tant que la valeur du champ existe. Et non seulement rempli existe, mais il ne doit pas non plus être vide pour renvoyer vrai.

has peut également être utilisé pour juger plusieurs champs. Si plusieurs valeurs de champ existent, il renvoie vrai, sinon il renvoie faux

if ($request->has([&#39;name&#39;, &#39;email&#39;])) {}

Et hasAny renvoie vrai uniquement s'il existe une valeur de champ

has peut également être utilisé pour juger plusieurs champs. 🎜>
if ($request->hasAny([&#39;name&#39;, &#39;email&#39;])) {}

Obtenir une entrée partielle

Laravel peut également obtenir une entrée partielle, en utilisant uniquement ou à l'exception des méthodes, leur utilisation et leurs fonctions sont exactement les mêmes. Renvoie un tableau associatif :

$request->only(&#39;name&#39;, &#39;email&#39;);
// or
$request->only([&#39;name&#39;, &#39;email&#39;]);

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn