Laravel est un excellent framework pour PHP et devient de plus en plus populaire dans le développement Web actuel. Laravel fournit de nombreuses fonctionnalités pratiques, l'une des fonctionnalités importantes étant le routage. Alors, où sont définies les routes de Laravel ? Cet article présentera en détail la définition et l'utilisation du routage Laravel.
Les itinéraires dans Laravel peuvent être définis de trois manières : les itinéraires définis manuellement, les itinéraires automatiques et les itinéraires RESTful. Nous présenterons ces trois méthodes séparément.
La définition manuelle d'itinéraires est un moyen largement utilisé qui nous permet de définir des URI avec des URL spécifiques. Laravel y parvient grâce aux méthodes de la classe Route
. La classe Route
est une classe d'assistance globale qui contient de nombreuses méthodes liées au routage. Ici, nous implémentons un exemple de retour de « Hello World » en définissant manuellement des itinéraires. Route
类中的方法来实现这一点。 Route
类是一个全局的助手类,其包含许多与路由相关的方法。 在这里我们以手动定义路由的方式来实现一个返回"Hello world"的示例。
Route::get('/hello', function () { return 'Hello World'; });
当访问 http://your-app.com/hello
时,将会显示"Hello World"的信息。
上面的例子中,我们使用HTTP的GET方法来获取 /hello
的URI,并返回了简单的字符串“Hello World”。除了GET方法外,还有一些其他的HTTP方法,例如POST、PUT、DELETE等,可以根据需求使用。
在Laravel中,可以通过使用Route::controller
方法来自动生成路由。该方法将会使用控制器中的方法作为URI来响应访问请求。
Route::controller('/user', 'UserController');
上面的代码定义了一个URI /user
,并使用UserController
控制器中的方法来处理访问请求。在控制器中,我们可以定义一系列接受URI的函数,这些函数会被自动路由注册。
比如,一个控制器可能被定义为:
class UserController extends Controller { public function getIndex() { // 返回用户首页 } public function postUser() { // 处理用户提交的表单数据 } }
通过上述定义,当访问 /user
URI时,UserController
的getIndex
方法将会被调用;而当使用POST方法访问/user/user
时,UserController
的postUser
方法将会被调用。
RESTful路由是一种针对资源进行操作的路由方式。在Laravel中,我们可以使用Route::resource
方法自动注册所有的RESTful路由。这种方式是一种非常便利和常用的方式,它可以将一个控制器中的所有RESTful操作集中在一起。
Route::resource('/user', 'UserController');
上述代码将会注册一个名为 /user
的URI,并在UserController
中注册名为index
、create
、store
、show
、edit
、update
和destroy
的方法。
在Laravel中,我们可以使用路由参数来定义URL并获取URI中的变量信息。我们可以通过在URI中使用大括号包裹参数名的方式,定义一个路由参数。 如下是一个带有路由参数的示例。
Route::get('/user/{id}', function ($id) { return 'User ' . $id; });
在上面的示例中,我们定义了一个名为 id
的路由参数。 当访问 /user/1
时,将会打印输出"User 1";访问 /user/2
时,将会输出"User 2"。
在控制器中,我们也可以通过路由参数接收URI中的变量信息。以下代码展示了其中的方法:
Route::get('/user/{id}', 'UserController@show'); class UserController extends Controller { public function show($id) { return view('user.show', ['user' => User::findOrFail($id)]); } }
在上述示例中,我们定义了一个被称为 id
的路由参数,并在控制器的show
方法中使用它来查询数据库中的用户信息。通过使用findOrFail()
rrreee
http://your-app.com/hello
, le message "Hello World" s'affichera. Dans l'exemple ci-dessus, nous utilisons la méthode HTTP GET pour obtenir l'URI de /hello
et renvoyons la simple chaîne "Hello World". En plus de la méthode GET, il existe d'autres méthodes HTTP, telles que POST, PUT, DELETE, etc., qui peuvent être utilisées selon les besoins. Routage automatique🎜🎜Dans Laravel, vous pouvez générer automatiquement des itinéraires en utilisant la méthode Route::controller
. Cette méthode utilisera la méthode du contrôleur comme URI pour répondre à la demande d'accès. 🎜rrreee🎜Le code ci-dessus définit un URI /user
et utilise des méthodes dans le contrôleur UserController
pour gérer les demandes d'accès. Dans le contrôleur, nous pouvons définir une série de fonctions qui acceptent les URI, et ces fonctions seront automatiquement routées et enregistrées. 🎜🎜Par exemple, un contrôleur peut être défini comme : 🎜rrreee🎜Avec la définition ci-dessus, lors de l'accès à l'URI /user
, le getIndex
de UserController
code> La méthode sera appelée ; et lors de l'utilisation de la méthode POST pour accéder à /user/user
, la méthode postUser
de UserController
sera appelée. . 🎜🎜Routage RESTful🎜🎜Le routage RESTful est une méthode de routage qui fonctionne sur les ressources. Dans Laravel, nous pouvons utiliser la méthode Route::resource
pour enregistrer automatiquement toutes les routes RESTful. Cette méthode est un moyen très pratique et couramment utilisé pour centraliser toutes les opérations RESTful dans un contrôleur. 🎜rrreee🎜Le code ci-dessus enregistrera un URI nommé /user
et enregistrera les noms index
et create dans <code>UserController
, méthodes store
, show
, edit
, update
et destroy
. 🎜🎜Utilisation du routage🎜🎜Dans Laravel, nous pouvons utiliser des paramètres de routage pour définir des URL et obtenir des informations variables dans l'URI. Nous pouvons définir un paramètre de routage en enveloppant le nom du paramètre entre accolades dans l'URI. Vous trouverez ci-dessous un exemple avec les paramètres de routage. 🎜rrreee🎜Dans l'exemple ci-dessus, nous avons défini un paramètre de route nommé id
. Lors de l'accès à /user/1
, "Utilisateur 1" sera imprimé ; lors de l'accès à /user/2
, "Utilisateur 2" sera imprimé. 🎜🎜Dans le contrôleur, nous pouvons également recevoir des informations variables dans l'URI via les paramètres de routage. Le code suivant montre la méthode : 🎜rrreee🎜Dans l'exemple ci-dessus, nous définissons un paramètre de routage appelé id
et dans la méthode show
du contrôleur, utilisez-le pour interroger les informations utilisateur dans le base de données. En utilisant la méthode findOrFail()
, il est très pratique de gérer la situation où l'utilisateur n'existe pas. Dans le même temps, nous pouvons également transmettre les informations utilisateur interrogées à la vue pour affichage et utilisation. 🎜🎜Résumé🎜🎜Le routage est une fonctionnalité très importante et couramment utilisée dans Laravel, qui peut facilement définir la relation entre les URI et les contrôleurs. Avec les paramètres de routage, le routage RESTful, etc., nous pouvons facilement accéder aux ressources spécifiées et l'opération devient très pratique. Maîtriser la définition et l'utilisation du routage Laravel peut grandement améliorer l'efficacité de notre développement Web et la qualité de notre code. 🎜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!