Laravel 的路由系统是整个框架的入口,负责将 HTTP 请求分发到对应的控制器或闭包函数。
基本路由定义
在 Laravel 中,路由定义非常简洁:
Route::get('/hello', function () {
return 'Hello, Laravel!';
});
路由参数
路由支持必填参数和可选参数:
Route::get('/user/{id}', function ($id) {
return 'User '.$id;
});
Route::get('/post/{id?}', function ($id = 1) {
return 'Post '.$id;
});
路由模型绑定
Laravel 提供了便捷的路由模型绑定功能:
Route::get('/posts/{post}', function (Post $post) {
return $post;
});
当访问 /posts/1 时,Laravel 会自动查找 id 为 1 的 Post 模型实例。
中间件
中间件可以过滤进入应用的 HTTP 请求:
Route::middleware(['auth'])->group(function () {
Route::get('/dashboard', function () {
// 只有认证用户可访问
});
});
路由缓存
生产环境建议使用路由缓存:
php artisan route:cache
这样可以大幅提升路由解析速度。