知识提要
中间件
路由的分组规则
分组
路由的分组就是把具有同一种特性的路由用group
聚集在一起
Route::group([], function () {
Route::get('hello', function () { return 'Hello'; });
Route::get('world', function () { return 'World'; });
});
路由前缀
使用prefix
为这个分组路由指定路径前缀并对其进行分组
//api路由
Route::prefix('api')->group(function () {
Route::get('/', function () {
// 处理 /api 路由
})->name('api.index');
Route::get('users', function () {
// 处理 /api/users 路由
})->name('api.users');
});
子域名路由
关键字domain
Route::domain('{account}.blog.test')->group(function () {
Route::get('/', function ($account) {
});
Route::get('user/{id}', function ($account, $id) {
});
});
设置参数时account
永远为第一个参数
子命名空间
关键字namespace
Route::namespace('Admin')->group(function() {
// App\Http\Controllers\Admin\AdminController
Route::get('/admin', 'AdminController@index');
});
路由命名前缀
关键字:name
// 路由命名+路径前缀
Route::name('user.')->prefix('user')->group(function () {
Route::get('{id?}', function ($id = 1) {
// 处理 /user/{id} 路由,路由命名为 user.show
return route('user.show');
})->name('show');
Route::get('posts', function () {
// 处理 /user/posts 路由,路由命名为 user.posts
})->name('posts');
});