php - 使用资源控制器的 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');
...
解决方案
这是 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
推荐阅读
- nginx - 在 NGINX 中测试负载均衡
- mysql - 不导入 CSV
- php - 如何让返回按钮在父页面上工作,而不是在 iframe 中
- php - 使用带有 floccus 的 sabre/dav 服务器
- twilio - 如何修复 Twilio 称之为我的 webhook 的 403 错误?
- javascript - Javascript从子项中获取文本
- c - 为什么绑定函数返回-1
- routes - 从 Laravel 6 升级到 8 后无法准备路由
- terragrunt - 在 Terragrunt 中导入现有资源
- python - 如何使用 Jinja2 将 Python 列表格式化为 HTML 列表?