首页 > 解决方案 > 使用资源控制器的 Laravel 自定义操作名称和路由名称?

问题描述

默认情况下,资源控制器会为您提供这些操作和路由名称:

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');
...

标签: phplaravelroutes

解决方案


这是 Laravel doc 建议的一个很好的解决方案:

Route::resource('resource', 'ResourceController', ['names' => [
    'index' => 'resource.browse',
    'delete' => 'resource.delete',
]]);

其余的将具有默认名称。

Laravel 文档中的相关部分:https ://laravel.com/docs/5.2/controllers#restful-naming-resource-routes


推荐阅读