📅  最后修改于: 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 路由系统,那么现在就去开始吧!