📜  laraval 路由 - PHP (1)

📅  最后修改于: 2023-12-03 14:43:43.963000             🧑  作者: Mango

Laravel 路由 - PHP

简介

Laravel 是一个开源的 PHP Web 应用框架,由 Taylor Otwell 创建。Laravel 提供了一组丰富的工具和组件,以便构建复杂且优雅的 PHP 应用程序。在 Laravel 中,路由是一个关键部分,它能够将 URL 映射到相应的控制器动作上。

路由的基本概念

路由是 Laravel 应用程序的基本构建块之一,其支持以下功能:

  • 将路由映射到控制器动作
  • 定义中间件来过滤请求
  • 实现 URL 参数绑定
  • 将路由分组
定义路由

在 Laravel 中,可以通过 Route facade 来定义路由。路由定义通常是在 routes/web.php 文件中进行的。

以下是一个简单的路由示例:

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

上面的代码将 / 路由映射到了一个闭包函数中,这个闭包函数返回了 welcome 模板视图。

使用控制器动作

通常,我们将路由绑定到控制器动作。在 Laravel 中,可以通过字符串来指定控制器和动作。必须符合以下格式: 控制器名称@动作名称

以下是一个示例:

Route::get('/user', 'UserController@index');

上面的代码将 /user 路由绑定到 UserControllerindex 方法。

定义中间件

中间件提供了一种简单的方法来处理请求,比如身份验证或记录请求日志等。在 Laravel 中,可以为路由定义中间件。

以下是一个示例:

Route::get('/admin', 'AdminController@index')->middleware('auth');

上面的代码将 /admin 路由绑定到 AdminControllerindex 方法,并在执行该方法之前执行 auth 中间件。

实现 URL 参数绑定

在许多 Web 应用程序中,参数经常出现在 URL 中。Laravel 提供了一种轻松的方法来解析 URL 参数。

以下是一个示例:

Route::get('/blog/{id}', 'BlogController@show');

上面的代码将 /blog/{id} 路由映射到 BlogControllershow 方法,并将 URL 参数绑定到 $id 变量。

分组路由

在 Laravel 中,可以通过路由分组来将路由组织起来。这对于具有许多路由的大型应用程序非常有用。

以下是一个示例:

Route::prefix('admin')->group(function () {
    Route::get('/', 'AdminController@index');
    Route::get('/user', 'UserController@index');
});

上面的代码将以 /admin 为前缀的所有路由分组在一起,并将 /admin 主页和 /admin/user 路由映射到相应的控制器动作上。

结论

Laravel 的路由系统提供了一种灵活的方法来管理应用程序的 URL。它是构建许多 PHP 应用程序的重要基础,所有 Laravel 开发人员都应该掌握它的用法。