默认情况下,资源控制器为您提供这些操作和路由名称:
ACTION ROUTE NAME
index resource.index
create resource.create
store resource.store
show resource.show
edit resource.edit
update resource.update
destroy resource.destroy
并希望将两者(操作和路线名称(重命名为:
ACTION ROUTE NAME
**browse resource.browse**
create resource.create
store resource.store
show resource.show
edit resource.edit
update resource.update
**delete resource.delete**
并且仍然使用资源控制器,如下图所示:
Route::resource('resource', 'ResourceController');
而不是像这样的GET路由列表:
Route::get('resource', 'ResourceController@index');
Route::get('resource/create', 'ResourceController@index');
...
以下是Laravel doc建议的一个好的解决方案:
Route::resource('resource', 'ResourceController', ['names' => [
'index' => 'resource.browse',
'delete' => 'resource.delete',
]]);
其余的将具有默认名称。
Laravel文档中的相关部分:https://laravel.com/docs/5.2/controllers#restful-命名资源路由
您也可以为资源控制器编写自定义路由。
// for **browse resource.browse**
Route::post('resource/browse', 'ResourceController@browse')->name('resource.browse');
//for **delete resource.delete**
Route::delete('resource/delete', 'ResourceController@delete')->name('resource.delete');