在PHP的Laravel框架中,路由是用于处理URI和HTTP动词之间的映射关系
- 创建一个新的Laravel项目(如果你还没有一个):
composer create-project --prefer-dist laravel/laravel your_project_name
-
打开
routes/web.php
文件。这是你定义HTTP请求路由的地方。默认情况下,它已经包含了一些示例路由。 -
基本的路由定义: 要定义一个基本的路由,只需指定URI和闭包函数。当URI被访问时,闭包函数将被执行。
Route::get('/', function () { return 'Hello World'; });
- 路由参数: 你可以在路由中定义参数,这些参数将作为闭包函数的变量传递。
Route::get('/user/{id}', function ($id) { return 'User ' . $id; });
- 命名路由: 你可以为路由分配一个名称,以便在应用程序中引用它。
Route::get('/user/profile', function () { // ... })->name('profile');
然后,你可以在应用程序的其他部分使用route()
函数来生成URL。
$url = route('profile');
- 控制器路由: 对于更复杂的应用程序逻辑,你可能希望将路由指向控制器方法。首先,创建一个控制器(如果你还没有一个):
php artisan make:controller UserController
然后,在routes/web.php
中定义一个指向控制器方法的路由:
use App\Http\Controllers\UserController; Route::get('/user/{id}', [UserController::class, 'show']);
在这个例子中,当URI /user/{id}
被访问时,UserController
的show
方法将被调用。
- 路由组: 如果你有多个路由共享相同的属性(例如,中间件、命名空间或前缀),你可以使用路由组来组织它们。
Route::middleware(['auth'])->group(function () { Route::get('/dashboard', function () { // ... }); Route::get('/account', function () { // ... }); });
在这个例子中,/dashboard
和/account
路由都使用了auth
中间件。
这些是在Laravel中使用路由的基本概念。你可以在Laravel文档中找到更多关于路由的信息。