recherche
Maisoncadre phpLaravelDiscuter de l'utilisation et du traitement de diverses méthodes de requête dans Laravel

Laravel est un framework PHP populaire pour le développement d'applications Web. Il fournit de nombreuses fonctionnalités et outils pratiques qui permettent aux développeurs d'effectuer les tâches courantes plus efficacement. L'une des tâches courantes consiste à gérer les requêtes HTTP. Laravel prend en charge une variété de méthodes de requête différentes, notamment GET, POST, PUT, DELETE, etc. Dans cet article, nous explorerons l'utilisation et le traitement de diverses méthodes de requête dans Laravel.

Requête et réponse HTTP

Avant de commencer à présenter diverses méthodes de requête, présentons brièvement les concepts de base des requêtes et réponses HTTP. Une requête HTTP fait référence à une requête envoyée par le client au serveur, qui comprend l'URL cible de la requête, les informations d'en-tête de la requête et le corps de la requête (pour les requêtes POST). Après avoir reçu la demande, le serveur effectuera les opérations de traitement correspondantes puis enverra une réponse HTTP au client. La réponse comprend des informations d'en-tête de réponse, un code de réponse et un corps de réponse. Le code de réponse indique le résultat du traitement de la demande par le serveur, par exemple 200 indiquant le succès, 404 indiquant que la ressource demandée est introuvable, etc.

GET request

GET request est une méthode de requête utilisée pour obtenir des données du serveur. Ses paramètres de requête seront ajoutés à l'URL avec un point d'interrogation (?) comme délimiteur. Dans Laravel, nous pouvons utiliser la méthode Route::get() pour définir une route GET. Par exemple :

Route::get('/users', function () {
    return view('users');
});

Cette route correspondra au chemin /users et renverra une vue nommée users. Dans cette vue, nous pouvons utiliser certaines balises HTML pour générer une requête GET :


   

Ici, nous utilisons un formulaire pour envoyer une requête GET. L'attribut action du formulaire indique l'URL cible de la requête et l'attribut méthode spécifie la méthode de requête comme GET. Lorsque l'utilisateur clique sur le bouton, le navigateur envoie une requête GET au serveur et ajoute les paramètres de la requête après l'URL. Par exemple, si l'on saisit un paramètre nommé « John » dans le formulaire, l'URL demandée deviendra /users?name=John. Côté serveur, nous pouvons utiliser l'objet $request pour obtenir les paramètres de la requête :

Route::get('/users', function (Illuminate\Http\Request $request) {
   $name = $request->input('name');
   // 查询数据库,返回符合条件的用户列表
   $users = App\User::where('name', $name)->get();
   return view('users', ['users' => $users]);
});

Ce code montre comment utiliser l'objet $request pour obtenir les paramètres de la requête. Nous avons d'abord appelé la méthode input() pour obtenir la valeur du paramètre nommé "name", puis nous l'avons utilisée pour interroger la base de données et enfin renvoyé une liste d'utilisateurs qualifiés. Cette liste sera transmise à la vue des utilisateurs précédemment définie pour affichage.

Requête POST

La requête POST est une méthode de requête utilisée pour soumettre des données au serveur. Ses paramètres de requête seront ajoutés au corps de la requête et envoyés au serveur sous forme de messages HTTP. Dans Laravel, nous pouvons utiliser la méthode Route::post() pour définir une route POST. Par exemple :

Route::post('/users', function (Illuminate\Http\Request $request) {
   $name = $request->input('name');
   $email = $request->input('email');
   // 将用户数据保存到数据库
   $user = new App\User;
   $user->name = $name;
   $user->email = $email;
   $user->save();
   return redirect('/users');
});

Cette route correspondra au chemin /users et enregistrera les données de la requête POST reçue dans la base de données. L'envoi d'une requête POST dans un formulaire est similaire à l'envoi d'une requête GET. Changez simplement la valeur de l'attribut de la méthode en "post" :


   @csrf            

Ici, nous avons également ajouté un champ de formulaire caché nommé "_token" (@csrf ). Ce champ masqué est requis pour la fonction de protection CSRF de Laravel, qui est utilisée pour empêcher les attaques de falsification de requêtes intersites. Côté serveur, nous devons utiliser la méthode IlluminateSupportFacadesURL::csrfToken() dans le routage pour générer un token CSRF :

Route::post('/users', function () {
   return view('users');
})->middleware('web');

Ce middleware indique que la requête doit être traitée par le middleware web, et le middleware web ajoutera automatiquement CSRF à chaque demande.

Requêtes PUT et DELETE

Les requêtes PUT et DELETE sont utilisées pour mettre à jour et supprimer des ressources côté serveur. Elles sont utilisées et traitées de la même manière que les requêtes GET et POST. Dans Laravel, nous pouvons utiliser les méthodes Route::put() et Route::delete() pour définir les routes PUT et DELETE. Par exemple :

Route::put('/users/{id}', function (Illuminate\Http\Request $request, $id) {
   $user = App\User::findOrFail($id);
   $user->name = $request->input('name');
   $user->email = $request->input('email');
   $user->save();
   return redirect('/users');
});

Route::delete('/users/{id}', function ($id) {
   $user = App\User::findOrFail($id);
   $user->delete();
   return redirect('/users');
});

Ici, nous définissons une route PUT et une route DELETE pour mettre à jour et supprimer les informations utilisateur. Dans le client, nous pouvons utiliser du code JavaScript pour envoyer des requêtes PUT et DELETE :

// 发送PUT请求
fetch('/users/1', {
   method: 'PUT',
   headers: {
      'Content-Type': 'application/json'
   },
   body: JSON.stringify({
      name: 'John Smith',
      email: 'john@example.com'
   })
}).then(response => {
   if (response.ok) {
      // 成功处理响应
   } else {
      // 处理响应错误
   }
}).catch(error => {
   // 处理网络请求错误
});

// 发送DELETE请求
fetch('/users/1', {
   method: 'DELETE'
}).then(response => {
   if (response.ok) {
      // 成功处理响应
   } else {
      // 处理响应错误
   }
}).catch(error => {
   // 处理网络请求错误
});

Ce code montre comment utiliser la fonction fetch() pour envoyer des requêtes PUT et DELETE. Lors de l'envoi d'une requête PUT, nous convertissons les données du corps de la requête au format JSON et spécifions le Content-Type comme application/json dans l'en-tête de la requête. Côté serveur, nous obtenons des informations sur les utilisateurs et mettons à jour ou supprimons les enregistrements de la base de données en utilisant la méthode findOrFail().

Résumé

Laravel fournit une variété de méthodes de requête HTTP différentes, ce qui nous permet de traiter plus facilement les ressources côté serveur. Lors du développement d'applications Web, nous utilisons généralement plusieurs méthodes de requête pour effectuer différentes tâches, telles que l'obtention de données via des requêtes GET, la soumission de données de formulaire via des requêtes POST, ainsi que la mise à jour et la suppression de ressources via des requêtes PUT et DELETE. Grâce au système de routage de Laravel, nous pouvons facilement définir les itinéraires correspondants pour différentes méthodes de requête et traiter les données de requête et les résultats de réponse côté serveur.

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
Laravel (PHP) contre Python: peser les avantages et les inconvénientsLaravel (PHP) contre Python: peser les avantages et les inconvénientsApr 17, 2025 am 12:18 AM

Laravel convient rapidement à la création d'applications Web, tandis que Python convient à une gamme plus large de scénarios d'application. 1.Laravel fournit des outils éloquents, moteur de modèle de lame et artisanaux pour simplifier le développement Web. 2. Python est connu pour ses types dynamiques, sa riche bibliothèque standard et son écosystème tiers, et convient au développement Web, à la science des données et à d'autres domaines.

Laravel vs Python: Comparaison des frameworks et des bibliothèquesLaravel vs Python: Comparaison des frameworks et des bibliothèquesApr 17, 2025 am 12:16 AM

Laravel et Python ont chacun leurs propres avantages: Laravel convient rapidement à la création d'applications Web riches en fonctionnalités, et Python fonctionne bien dans les domaines de la science des données et de la programmation générale. 1.Laravel fournit des moteurs éloquents et modèles de lame, adaptés à la création d'applications Web modernes. 2. Python a une bibliothèque standard riche et une bibliothèque tierce, et les cadres Django et Flask répondent à différents besoins de développement.

Objectif de Laravel: Construire des applications Web robustes et élégantesObjectif de Laravel: Construire des applications Web robustes et élégantesApr 17, 2025 am 12:13 AM

Laravel mérite d'être choisi car il peut rendre la structure du code claire et le processus de développement plus artistique. 1) Laravel est basé sur PHP, suit l'architecture MVC et simplifie le développement Web. 2) Ses fonctions de base telles que l'éloquente, les outils artisanaux et les modèles de lame améliorent l'élégance et la robustesse du développement. 3) Grâce au routage, aux contrôleurs, aux modèles et aux vues, les développeurs peuvent créer efficacement des applications. 4) Les fonctions avancées telles que la surveillance des files d'attente et des événements améliorent encore les performances de l'application.

Laravel: principalement un cadre backend expliquéLaravel: principalement un cadre backend expliquéApr 17, 2025 am 12:02 AM

Laravel n'est pas seulement un cadre back-end, mais aussi une solution complète de développement Web. Il fournit des fonctions back-end puissantes, telles que le routage, les opérations de base de données, l'authentification des utilisateurs, etc., et prend en charge le développement frontal, améliorant l'efficacité de développement de l'ensemble de l'application Web.

Laravel (PHP) contre Python: comprendre les différences clésLaravel (PHP) contre Python: comprendre les différences clésApr 17, 2025 am 12:01 AM

Laravel convient au développement Web, Python convient à la science des données et au prototypage rapide. 1.Laravel est basé sur PHP et fournit une syntaxe élégante et des fonctions riches, telles que l'éloquente. 2. Python est connu pour sa simplicité, largement utilisée dans le développement Web et la science des données, et a un riche écosystème de bibliothèque.

Laravel en action: applications et exemples du monde réelLaravel en action: applications et exemples du monde réelApr 16, 2025 am 12:02 AM

LaravelCanBeefectively utiliseInreal-worldapplicationsforbuildingscalablewebsolutions.1) itsImpplivesCrudoperations InsistfulapisusingEloventorm.2) Laravel'secosystem, y compristoolslikenova, amélioreDevelopment.3)

Fonction principale de Laravel: développement backendFonction principale de Laravel: développement backendApr 15, 2025 am 12:14 AM

Les fonctions principales de Laravel dans le développement back-end incluent le système de routage, l'éloquente, la fonction de migration, le système de cache et le système de file d'attente. 1. Le système de routage simplifie la cartographie de l'URL et améliore l'organisation et la maintenance du code. 2.Lesormorm fournit des opérations de données orientées objet pour améliorer l'efficacité du développement. 3. La fonction de migration gère la structure de la base de données via le contrôle de la version pour assurer la cohérence. 4. Le système de cache réduit les requêtes de la base de données et améliore la vitesse de réponse. 5. Le système de file d'attente traite efficacement les données à grande échelle, évite de bloquer les demandes des utilisateurs et d'améliorer les performances globales.

Capacités backend de Laravel: bases de données, logique et plus encoreCapacités backend de Laravel: bases de données, logique et plus encoreApr 14, 2025 am 12:04 AM

Laravel fonctionne fortement dans le développement back-end, simplifiant les opérations de la base de données via Elognentorm, les contrôleurs et les cours de service gèrent la logique métier, et offrant des files d'attente, des événements et d'autres fonctions. 1) Eloquentorm cartocie des tables de base de données via le modèle pour simplifier la requête. 2) La logique métier est traitée dans les contrôleurs et les classes de services pour améliorer la modularité et la maintenabilité. 3) D'autres fonctions telles que les systèmes de file d'attente aident à gérer les besoins complexes.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP