新增的 resource 方法将听从 RESTful 架构为用户资源生成路由。该方法接收两个参数,第一个参数为资源名称,第二个参数为控制器名称。php
Route::resource('users', 'UsersController');
上面代码将等同于:html
Route::get('/users', 'UsersController@index')->name('users.index');api
Route::get('/users/{user}', 'UsersController@show')->name('users.show');数组
Route::get('/users/create', 'UsersController@create')->name('users.create');架构
Route::post('/users', 'UsersController@store')->name('users.store');post
Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit');spa
Route::patch('/users/{user}', 'UsersController@update')->name('users.update');命令行
Route::delete('/users/{user}', 'UsersController@destroy')->name('users.destroy');设计
能够看到使用 resource 方法让咱们少写了不少代码,且严格按照了 RESTful 架构对路由进行设计。code
rosource 方法能够取设置name
和only
参数只须要衍射的方法
以下面的:
Route::resource('users','UsersController',[ 'only' => ['index','show','update'], 'as' => 'admin', //'name' => 'admin.posts' ]);
参数说明:
names
是覆盖原先默认的name
部分Route::resource('users','UsersController',[ 'names' => [ 'index' => 'users' ], ]);
as
参数,值是路由名称的前缀,加一个指定的前缀给当前的全部路由名称前面Route::resource('users','UsersController',[ 'as' => 'admin', ]);
only
参数,值是 resources控制器 的 方法名, index
,show
,update
,store
,destroy
组成的数组,即只能访问 指定的方法Route::resource('users','UsersController',[ 'only' => ['index','show'], ]);
如上面的,users的路由列表只有 index
和show
上面的三个参数,是我目前直到的参数
能够命令行,在项目的根目录下运行 php artisan route:list
命令,输出路由列表 若是当前Laravel项目使用了 dingo api
类库,列出全部的api路由的命令时 php artisan api:route