
1、基本路由
构建最基本的路由只需要一个 URI 与一个 闭包,这里提供了一个非常简单优雅的定义路由的方法:
Route::get('foo', function () {
return 'Hello World';
});
Route::get('/user', 'UsersController@index');
Route::get('user/profile', 'UserController@showProfile')->name('profile');
2、路由组
路由组允许共享路由属性,例如中间件和命名空间等,我们没有必要为每个路由单独设置共有属性,共有属性会以数组的形式放到 Route::group 方法的第一个参数中。
中间件:
Route::middleware(['first', 'second'])->group(function () {
Route::get('/', function () {
// 使用 `first` 和 `second` 中间件
});
});
为控制器组指定公共的 PHP 命名空间。这时使用 namespace 参数来指定组内所有控制器的公共命名空间:
Route::namespace('Admin')->group(function () {
// 在 "App\Http\Controllers\Admin" 命名空间下的控制器
});
绑定子域名:
Route::domain('{account}.myapp.com')->group(function () {
Route::get('user/{id}', function ($account, $id) {
//
});
});
路由前缀:
Route::prefix('admin')->group(function () {
Route::get('users', function () {
// 匹配包含 "/admin/users" 的 URL
});
});
3、资源路由
Route::resource('photos', 'PhotoController');
这个路由声明会创建多个路由来处理各种各样的资源操作。前面生成的控制器已经包含了这些操作的方法,同时还包括了 HTTP 动作和操作 URI 的注释。
动作 URI 操作 路由名称
GET /photos index photos.index
GET /photos/create create photos.create
POST /photos store photos.store
GET /photos/{photo} show photos.show
GET /photos/{photo}/edit edit photos.edit
PUT/PATCH /photos/{photo} update photos.update
DELETE /photos/{photo} destroy photos.destroy
当声明一个资源路由时,你可以指定控制器处理部分操作,而不必使用全部默认操作:
Route::resource('photo', 'PhotoController', ['only' => [
'index', 'show'
]]);
Route::resource('photo', 'PhotoController', ['except' => [
'create', 'store', 'update', 'destroy'
]]);
资源路由命名:
Route::resource('photo', 'PhotoController', ['names' => ['create' => 'photo.build']]);
资源路由指定路由名前缀:
Route::resource('admin/article', 'ArticleController', ['as' => 'admin']);
---------------------
作者:一夜长风
来源:CSDN
原文:https://blog.csdn.net/wlzx120/article/details/77863538
版权声明:本文为博主原创文章,转载请附上博文链接!
来源:https://www.cnblogs.com/wlzx/p/10232559.html