我有两个命名空间'Front'和'Admin'.对于'Admin'命名空间,可以为所有路径加上admin.conrtoller.action作为前缀,但是对于'Front',我希望具有带前缀的路由名称而没有带前缀的URI.
I have two namespaces 'Front' and 'Admin'. For 'Admin' namespace it is OK to have all paths prefixed with admin.conrtoller.action, but for 'Front' I want to have prefixed route names without prefixed URIs.
Route::group(array('namespace' => 'Front'), function() { Route::resource('franchising', 'FranchisingController', array('only' => array('index'))); });这将为我生成franchising.index根名称和get 'franchising' URI.如何使该组中的所有资源生成路由名称,如front.franchising.index,但保留当前URI不变(即,不给其加上front/前缀).
This generates me franchising.index root name and get 'franchising' URI. How to make all resources in this group to generate route names like front.franchising.index, but leave current URIs without change (i.e. not prefixing it with front/).
我使用Laravel 4.2.
I use Laravel 4.2.
推荐答案路由前缀主要用于为路径添加前缀.它还会在路由名称前加上前缀,这一事实只是使用Route::resource()时的一种附加行为.
Route prefix is mainly for prefixing the path. The fact that it also prefixes route names, is just an added behavior when using Route::resource().
编辑
在Laravel中,使用prefix路由组参数实际使用前缀绝对是不可能的.
It is definitely not possible with the actual prefixing, using a prefix route group parameter, in Laravel out of the box.
Route::resource()和Route::controller()只是适合它们的少量实际用例的快捷方式.它们绝对不是适合所有情况的工具.如果需要对路由进行更多控制,建议使用Route::get,Route::post等手动指定路由.
Route::resource() and Route::controller() are only a shortcuts for small amount of real use cases, where they fit. They are definitely not tools that fits for everything. If more control over routes is needed, manually specifying routes with Route::get, Route::post and such is advisable.
更多推荐
在Laravel中不带URI前缀的前缀路由名称
发布评论