Laravel路由系统核心包括:1. 基本路由定义支持GET、POST等HTTP方法;2. 动态参数可加正则约束;3. 命名路由便于URL生成;4. 分组功能统一设置中间件、前缀和命名空间;5. 路由指向控制器方法,支持资源路由自动生成CRUD对应路径;6. 提供视图直接返回和重定向路由快捷方式。掌握这些可构建清晰、可维护的应用结构。

Laravel 的路由系统是整个框架的核心之一,它负责将用户的请求映射到对应的控制器或闭包函数。定义路由非常直观且灵活,适合从小型项目到大型应用的各种需求。
Laravel 中的路由定义主要在 routes/web.php(用于 Web 页面)和 routes/api.php(用于无状态 API)文件中进行。
最基本的路由使用 Route 门面来绑定 HTTP 请求方法与回调函数:
Route::get('/home', function () { return 'Hello World'; }); —— 定义一个 GET 请求Route::post('/submit', function () { return 'Form submitted'; }); —— 处理表单提交
Route::put('/update', ...);、Route::delete('/remove', ...); 对应其他 HTTP 方法Route::match(['get', 'post'], '/login', function () { ... }); —— 匹配多种方法Route::any('/any', function () { ... }); —— 响应任意 HTTP 方法(慎用)实际开发中,URL 往往包含动态部分,比如用户 ID 或文章标题。Laravel 支持带参数的路由:
Route::get('/user/{id}', function ($id) { return "User {$id}"; });Route::get('/post/{year}/{month}', function ($year, $month) { ... });
你还可以对参数添加正则约束,确保数据格式正确:
Route::get('/user/{id}', ...)->where('id', '[0-9]+'); —— id 必须为数字->where(['id' => '[0-9]+', 'name' => '[a-z]+']) —— 多个参数约束给路由起名字可以让你在视图或代码中更方便地生成链接,而不依赖硬编码路径:
Route::get('/dashboard', function () { ... })->name('dashboard');route('dashboard') 输出完整 URLroute('user.profile', ['id' => 123])
为了组织结构清晰,Laravel 提供了路由分组功能,可统一设置中间件、命名空间、前缀等:
Route::middleware(['auth'])->group(function () {<br>
Route::get('/admin/profile', 'AdminController@profile');<br>
});Route::prefix('api/v1')->group(function () {<br>
Route::get('users', 'Api\UserController@index');<br>
});Route::namespace('Admin')->group(...)
大多数情况下,路由会指向控制器方法而不是闭包:
Route::get('/users', 'UserController@index'); —— Laravel 8 以前语法use App\Http\Controllers\UserController;Route::get('/users', [UserController::class, 'index']);
对于标准的 CRUD 操作,Laravel 提供了资源路由来自动生成 7 个常用路由:
Route::resource('photos', PhotoController::class);->only(['index', 'show']) 或 ->except([...])
有些页面只是简单返回视图或做跳转,Laravel 提供了快捷方式:
Route::view('/about', 'pages.about'); // 直接返回视图Route::redirect('/here', '/there'); // 302 重定向Route::permanentRedirect('/old', '/new'); // 301 永久重定向基本上就这些。掌握这些核心概念后,你已经能熟练使用 Laravel 的路由系统构建清晰、可维护的应用结构。不复杂但容易忽略细节,比如命名和约束,建议在项目初期就规范好路由设计。
以上就是Laravel路由怎么定义_Laravel核心路由系统完全入门指南的详细内容,更多请关注php中文网其它相关文章!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号