Laravel路由系统通过配置文件定义请求映射,支持HTTP方法、参数传递与中间件。1. 基本路由使用闭包响应请求;2. 动态参数用{id}占位并可加约束;3. 路由命名便于URL生成;4. 分组统一管理前缀和中间件;5. 推荐控制器处理业务逻辑,提升可维护性。

Laravel 的路由系统是构建 Web 应用的核心部分,它负责将用户的请求映射到相应的处理逻辑。通过清晰的配置方式,你可以轻松定义 URL 路径与控制器方法之间的对应关系,并支持各种 HTTP 请求类型、参数传递和中间件控制。
Laravel 的路由定义文件位于 routes/web.php(用于 Web 页面)和 routes/api.php(用于无状态 API)。最基本的路由使用闭包函数直接返回响应内容。
示例:
Route::get('/hello', function () {
return 'Hello, Laravel!';
});
这表示当用户访问 /hello 地址并使用 GET 方法时,将返回指定字符串。除了 GET,还支持其他常见方法:
实际开发中常需要动态路径,比如根据 ID 获取用户信息。Laravel 支持在路由中定义占位符来接收参数。
示例:
Route::get('/user/{id}', function ($id) {
return "用户ID为:$id";
});
你还可以设置可选参数或添加正则约束以增强安全性。
为路由起名可以提高代码可维护性,尤其是在模板中生成链接或重定向时更方便。
示例:
Route::get('/dashboard', function () {
// ...
})->name('home');
之后可通过 route() 辅助函数生成链接:
route('home') 将返回完整 URL,如 http://your-app.test/dashboard。
在视图中可用于跳转或表单提交地址。
多个相关路由可以归为一组,统一应用前缀、中间件或命名空间,避免重复配置。
示例:管理员后台路由组
Route::middleware(['auth'])->prefix('admin')->group(function () {
Route::get('/users', [AdminController::class, 'listUsers']);
Route::post('/add', [AdminController::class, 'addUser']);
});
此组内所有路由都需登录验证(auth 中间件),且路径自动加上 /admin 前缀。
大型项目推荐将业务逻辑放在控制器中,而不是直接写在路由闭包里。
示例:
Route::get('/post/{id}', [PostController::class, 'show']);
该路由会调用 PostController 类的 show 方法,并传入 {id} 参数。控制器文件通常位于 app/Http/Controllers 目录下。
基本上就这些。合理组织路由结构能让应用更清晰易维护,结合中间件和控制器能有效分离关注点。不复杂但容易忽略的是参数验证和命名规范,建议早期就统一风格。
以上就是Laravel如何定义和使用路由_Laravel路由配置与请求处理指南的详细内容,更多请关注php中文网其它相关文章!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号