📜  laravel 路由多种方法 - PHP (1)

📅  最后修改于: 2023-12-03 15:32:36.460000             🧑  作者: Mango

Laravel 路由多种方法

Laravel 是一款流行的 PHP 框架,提供了多种路由方式来处理不同的请求。本文将介绍 Laravel 路由的多种方法。

基本路由

基本路由是最简单的路由方式,用于处理 GET 请求。

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

以上代码定义了一个基本路由,当用户访问网站根目录时,会返回一个视图。

带参数的路由

有时需要在路由中传递参数,可以使用带参数的路由。

Route::get('/user/{id}', function ($id) {
    return 'User '.$id;
});

以上代码定义了一个带参数的路由,当用户访问 /user/1 时,会返回 "User 1"。

POST 路由

除了 GET 请求,还可以定义处理 POST 请求的路由。

Route::post('/user', function () {
    // 处理 POST 请求
});

以上代码定义了一个 POST 路由,当用户提交表单时,会处理 POST 请求。

同时处理多种请求

有时需要同时处理多种请求,可以使用 match 方法定义路由。

Route::match(['get', 'post'], '/user', function () {
    // 处理 GET 或 POST 请求
});

以上代码定义了一个路由,当用户访问 /user 时,会处理 GET 或 POST 请求。

任意请求路由

还可以定义处理任意请求的路由,使用 any 方法。

Route::any('/user', function () {
    // 处理任意请求
});

以上代码定义了一个路由,当用户访问 /user 时,会处理任意请求。

路由命名

为了方便使用,可以为路由命名,使用 name 方法。

Route::get('/user/{id}', function ($id) {
    //
})->name('user.profile');

以上代码定义了一个路由,并为其命名为 user.profile。

路由组

有时需要对一组相关的路由进行分组管理,可以使用路由组。

Route::prefix('admin')->group(function () {
    Route::get('dashboard', function () {
        return 'Dashboard';
    });
});

以上代码定义了一个路由组,其中所有路由的前缀都是 /admin。

路由中间件

路由中间件用于在请求处理前执行特定的操作,如身份验证。

Route::get('/dashboard', 'DashboardController@index')->middleware('auth');

以上代码定义了一个路由,并指定了 middleware 中间件,该中间件会在请求前验证用户身份。

以上是 Laravel 路由的多种方法,它们可以帮助我们更好地管理和处理请求。