📅  最后修改于: 2023-12-03 15:32:36.500000             🧑  作者: Mango
Laravel 路由是基于 PHP 的一种路由系统,用于处理 HTTP 请求并将它们映射到相应的处理器或控制器函数上。它提供了一组简单易用的 API,帮助开发者轻松构建 RESTful API 和 Web 应用程序。
Laravel 路由的主要特点包括:
可以使用 Route
类的静态方法来定义路由。以下例子展示了如何使用闭包函数定义 GET 请求的路由,处理器函数返回一个字符串:
use Illuminate\Support\Facades\Route;
Route::get('/hello', function () {
return 'Hello, Laravel!';
});
可以使用控制器方法来定义路由。以下例子展示了如何使用控制器方法定义 GET 请求的路由,处理器函数返回一个视图:
use App\Http\Controllers\HomeController;
Route::get('/home', [HomeController::class, 'index']);
可以使用资源控制器来定义路由。以下例子展示了如何使用资源控制器定义对 articles
资源的 CRUD 操作:
use App\Http\Controllers\ArticleController;
Route::resource('/articles', ArticleController::class);
有多种方式可以传递参数。以下例子展示了如何在 URL 中传递参数:
Route::get('/users/{id}', function ($id) {
return "User ID: $id";
});
也可以使用查询字符串传递参数。以下例子展示了如何使用查询字符串传递参数 page
:
Route::get('/articles', function () {
$page = request()->query('page');
return "Current Page: $page";
});
可以为路由定义一组中间件,用于在请求处理前或处理后执行一些操作。以下例子展示了如何为路由定义中间件 auth
和 verified
:
Route::get('/dashboard', function () {
//
})->middleware(['auth', 'verified']);
可以使用 Laravel 的 URL 生成器来生成 URL。以下例子展示了如何生成功能 URL:
$url = route('user.show', ['id' => 1]);
可以为路由定义一个命名,在其他地方使用该名称来生成 URL。以下例子展示了如何为路由定义命名路由 user.show
:
Route::get('/users/{id}', function ($id) {
//
})->name('user.show');
可以为路由定义一个别名,在其他地方使用该别名来访问该路由。以下例子展示了如何为路由定义别名 profile
:
Route::get('/users/{id}/profile', function ($id) {
//
})->name('user.profile')->alias('profile');
综上所述,Laravel 路由提供了一套简单易用的 API,帮助开发者轻松构建 RESTful API 和 Web 应用程序。它支持多种方式定义路由、传递参数、定义中间件、生成 URL、定义命名路由和路由别名等功能。欢迎使用 Laravel 路由来构建您的下一个项目!