Maison  >  Article  >  cadre php  >  Compréhension approfondie des méthodes de contrôleur et du routage de Laravel

Compréhension approfondie des méthodes de contrôleur et du routage de Laravel

PHPz
PHPzoriginal
2023-04-04 10:45:51786parcourir

Laravel est un framework PHP populaire qui rend le développement Web plus facile et plus rapide en utilisant une syntaxe simple et élégante et des outils puissants. Dans Laravel, le routage est un élément important pour déterminer la manière dont les requêtes HTTP sont mappées au code de votre application.

Dans Laravel, le routage se compose de verbes HTTP (GET, POST, PUT, etc.) et de chemins URI. Dans la déclaration de route, il y a une flèche entre le verbe HTTP et le chemin URI pointant vers la méthode du contrôleur qui gérera la requête.

Les méthodes du contrôleur et le routage dans Laravel sont étroitement liés. Le nom de la méthode du contrôleur pour la route et le nom de la partie définie dans le chemin URI doivent être identiques. Par conséquent, lors de la déclaration d’une route, vous pouvez lier une méthode de contrôleur pour chaque chemin URI. De cette façon, la méthode du contrôleur sera appelée chaque fois qu’un chemin URI spécifique est demandé.

Le nom de la méthode du contrôleur est le même que le nom de la route dans Laravel. En effet, le routage Laravel utilise la fonction de réflexion de PHP pour analyser les paramètres de route. Par conséquent, le nom de la route doit correspondre exactement au nom de la méthode du contrôleur. S'ils ne correspondent pas, Laravel ne pourra pas trouver la méthode.

Par exemple, nous avons un contrôleur appelé PostController, et ce contrôleur a une méthode appelée store. Nous souhaitons soumettre le formulaire via une requête POST à ​​cette méthode. Nous pouvons ajouter la route suivante dans routes/web.php :

Route::post('/post', 'PostController@store');

Dans cet exemple, l'URI de la route est "/post" et le verbe HTTP est POST Nous pourrons trouver une méthode nommée store dans le contrôleur PostController pour. gérer la demande. Nous pouvons utiliser la route nommée "post.store" pour la génération d'URL.

Laravel propose également de nombreuses autres méthodes de routage pour simplifier la gestion des URL. Vous pouvez utiliser la méthode route pour générer des URL au lieu d'avoir à utiliser des URL codées en dur. Nous pouvons également utiliser un middleware pour protéger les routes. Par exemple, nous pouvons vérifier si l'utilisateur dispose des autorisations appropriées avant l'exécution de la méthode du contrôleur.

Laravel fournit également des méthodes de routage prédéfinies, telles que get, post, put, patch, delete, etc., qui correspondent respectivement aux verbes HTTP GET, POST, PUT, PATCH et DELETE. Ces méthodes nécessitent deux paramètres, le premier paramètre est le chemin URI demandé et le deuxième paramètre est le nom de la méthode du contrôleur.

Lors de l'appel d'une méthode de routage, vous pouvez également spécifier un nom pour identifier l'itinéraire. Ceci est très utile car cela nous permet de générer une URL unique au sein de notre application sans avoir à nous soucier du chemin réel de l'URL. Par exemple, définissez la méthode de routage suivante dans routes/web.php :

Route::get('/post/{id}', 'PostController@show')->name('post.show');

Dans cet exemple, nous définissons un nom de route appelé "post.show", cette méthode de routage utilise le verbe GET et le chemin URI est "/post /{id}", il appellera la méthode show de PostController. Notez également que nous avons défini un paramètre appelé "id" dans le chemin URI, accessible dans la méthode du contrôleur.

En bref, dans Laravel, les noms de méthodes et les routes sont liés les uns aux autres et forment ensemble l'architecture de base de l'application. Par conséquent, lors du développement d’applications Laravel, les développeurs doivent avoir une compréhension approfondie du routage et des noms de méthodes afin de concevoir d’excellentes applications.

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