📜  拉拉维尔 |路由基础(1)

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

拉拉维尔 | 路由基础

简介

Laravel 是一个流行的 PHP Web 开发框架,拥有自己的路由系统。Laravel 路由系统允许您定义应用程序的 URL 结构并将 URL 映射到相应的控制器操作。

用法

在 Laravel 路由系统中,您可以使用 Route 辅助函数定义路由。通常,在 routes/web.php 文件中定义路由。

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

在上面的示例中,Route::get() 方法创建了一个 GET 路由,它将 URL “/” 映射到一个闭包函数,该函数返回一个视图。该路由通常用作应用程序的欢迎页面。

你也可以将 URL 映射到控制器方法:

Route::get('/users', 'App\Http\Controllers\UserController@index');

这条路由将 URL “/users” 映射到 UserController 控制器的 index 方法。

在 Laravel 中,还有许多不同的路由定义方式,如 POST、PUT、DELETE 等。您也可以为路由指定名称,中间件和参数。

参数

Laravel 路由系统允许您定义 URL 中的参数。参数可以是必需的或可选的。

要定义必需的参数,您可以在路由 URL 中指定参数名称,并用花括号({ })括起来。

Route::get('/users/{id}', 'App\Http\Controllers\UserController@show');

在这个路由中,我们定义了一个名为 id 的必需参数。参数将被传递到 UserController 控制器的 show 方法中。

要定义可选参数,您可以在参数名称后面加上一个问号(?):

Route::get('/users/{id?}', 'App\Http\Controllers\UserController@index');

在这个路由中,我们定义了一个可选的 id 参数。如果 URL 中没有提供 id 参数,则默认使用 UserController 控制器的 index 方法。

中间件

中间件是 Laravel 路由系统中的一个关键概念。它允许您将请求在到达控制器之前或之后通过一系列过滤器。

例如,您可以使用中间件来验证用户是否已经登录:

Route::get('/dashboard', 'App\Http\Controllers\DashboardController@index')
    ->middleware(['auth']);

在这个路由中,我们定义了一个名为 auth 的中间件。中间件确保只有已经登录的用户才能访问仪表板。

结论

Laravel 路由系统是构建 Web 应用程序的必不可少的工具。您可以使用它来定义 URL 结构,将 URL 映射到控制器操作,并使用中间件过滤请求。如果您还没有熟悉 Laravel 路由系统,那么现在就去开始吧!