Maison  >  Article  >  cadre php  >  Les applications Laravel s'occupent des utilisateurs, en commençant par obtenir leurs données !

Les applications Laravel s'occupent des utilisateurs, en commençant par obtenir leurs données !

藏色散人
藏色散人avant
2020-10-28 14:56:411940parcourir
Ce qui suit est introduit par

Laravel La colonne tutoriel présentera les applications Laravel aux utilisateurs pour traiter avec les utilisateurs, en commençant par l'obtention de leurs données ! , j'espère que cela sera utile aux amis dans le besoin !

Introduction

À l'origine, après avoir parlé de routage et de contrôleurs, nous devrions ensuite parler des vues, mais comme la fonction des vues est trop ennuyeuse, et c'est une façade -fin de page, c'est inévitable Écrivez quelques

js et css. Laravel est concentré sur le back-end , donc afin de donner aux développeurs back-end un peu de temps de mise en mémoire tampon, nous ignorons la vue et parlons d'abord de l'acquisition et du traitement des données utilisateur. Il s'agit d'une fonction indispensable. pour presque toutes les applications.

Les données des utilisateurs sont également

dangereuses ! Cet article ne vous apprendra pas comment éviter le danger !

Temps de codage

Lorsque nous avons parlé de planification d'itinéraire, nous avons parlé de la façon d'utiliser la liaison des paramètres de position de l'URL à des fins de guidage. pour obtenir les utilisateurs. La manière de saisir les données est

Cependant, les paramètres de localisation transmis sont généralement

inoffensifs pour les humains et les animaux et sont accessibles au public pour que vous alliez et veniez.

S'il s'agit des données privées d'un seul utilisateur, elles ne doivent pas être transmises directement dans l'URL.

laravel stocke les entrées de l'utilisateur dans l'objet Input, et logiquement, les entrées de l'utilisateur doivent appartenir à l'élément de requête, donc Request hérite également du méthodes et données d’entrée.

Par exemple, il existe l'itinéraire suivant :

Route::post('form', function (Illuminate\Http\Request $request) {
    // $request->method()});
simule une adresse de formulaire, transmet les données via la méthode post, puis utilise la méthode Request. Jetons un coup d'œil aux méthodes d'acquisition disponibles.

Parlons d'abord de

$request->all() Celui-ci imprime toutes les données d'entrée. Par exemple, le formulaire peut contenir les champs suivants. Jetez simplement un œil au contenu HTML !


    {{ csrf_field() }}         
Afin de déboguer les données, notre itinéraire est enregistré comme ceci :

Route::post('/post-route', function (Request $request) {
    var_dump($request->all());});
Devinez ce qui sera sorti ?

/**
* [
* '_token' => 'CSRF token here',
* 'firstName' => 'value',
* 'utm' => 12345
* ]
*/
Oui, c'est le champ firstName du formulaire de publication, le paramètre de requête utm de la chaîne de requête et la fonction intégrée de Laravel pour la protection CSRF. Le champ du formulaire par défaut est

__token, alors ne vous embêtez pas.

Mais les étudiants obsédés par le codage peuvent trouver cela insupportable. Ce n'est pas mon domaine et je ne l'utilise pas dans le code, je ne veux pas voir ce

__token, cette variable inconnue. Oui, on peut juste le filtrer directement dans les paramètres de la requête :

Route::post('/post-route', function (Request $request) {
    var_dump($request->except('_token'));});
Parmi eux, la méthode

sauf() permet de filtrer certains champs et n'a pas besoin d'être utilisée. À cela correspond la méthode only(), qui spécifie quels champs sont utilisés. Utilisez-le comme ceci :

$request->only(['firstName', 'utm']);
Parfois, il est logique de déterminer si certaines clés existent. Laravel propose deux façons de déterminer si elles existent, l'une est

a et l'autre est existe. . Certains étudiants peuvent se demander pourquoi avons-nous encore besoin de existe alors que nous avons a ? Parce que leurs fonctions sont différentes. La méthode

has ne déterminera pas seulement que la clé existe, si la valeur de la clé est vide (comme null, chaîne vide, false, 0, tableau vide, objet vide, etc.), est également jugée fausse. Il est donc nécessaire d'utiliser existe pour déterminer simplement si une clé existe ou non. Lors de son utilisation, vous devez faire attention à cette différence subtile.

est très simple à utiliser, il suffit d'appeler directement la méthode :

if ($request->has('utm')) {
    // Do some work}
Si la clé de valeur d'entrée n'existe pas, nous pouvons également lui définir une valeur par défaut, qui est

input Le deuxième paramètre de la méthode est appelé comme suit :

Route::post('/post-route', function (Request $request) {
    $userName = $request->input('name', 'anonymous');});
Si l'utilisateur ne passe pas dans le champ nom, utilisez plutôt anonyme.

Les éléments mentionnés ci-dessus sont tous de simples paires clé-valeur. Il existe également un formulaire. Les champs entrants peuvent être des tableaux, tels que les suivants :


    {{ csrf_field() }}                         
Vous pouvez utiliser le style point pour obtenir des tableaux. dans la méthode laravel pour lire, c'est parce que laravel utilise la méthode générale de la classe d'assistance Arr lors de l'analyse. Par exemple, pour obtenir une certaine clé :

$employeeZeroFirstName = $request->input('employees.0.firstName');
Précisez simplement le nom de la clé clairement et correspondez au niveau. Vous pouvez également utiliser des astérisques pour faire correspondre toutes les clés à un certain niveau :

$allLastNames = $request->input('employees.*.lastName');
ou simplement spécifier une certaine clé, puis la renvoyer telle quelle, quel que soit le nombre de niveaux :

$employeeOne = $request->input('employees.1');
Lecteurs peut vérifier le code source ou la documentation pour une utilisation spécifique. Examinons l'utilisation de la classe d'opération

Arr.

Écrit à la fin

Cet article couvre presque certaines des méthodes les plus courantes pour les méthodes de saisie utilisateur. Nous avons uniquement parlé de la façon de obtenir les données utilisateur normalement. . Il ne précise pas comment vérifier la validité des données. La vérification frontale étant presque inutile, les données finales écrites dans la base de données doivent encore être vérifiées par l'application.

C'est le travail du validateur Nous discuterons du validateur en détail dans les chapitres suivants.                                                                                                   

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer