经过一番研究和研究之后,似乎在Laravel 5+中已弃用了Route::when()和Route::filter()。我需要能够将所有以URI开头的URI路由members到同一控制器。例如:
Route::get('members/home', 'MembersController');
Route::get('members/view/all', 'MembersController');
Route::get('members/any/possible/route', 'MembersController');
Run Code Online (Sandbox Code Playgroud)
我不会知道所有以成员开头的可能路线,因为它们将存储在我的数据库中。是否存在与我可以在5.4中使用的Laravel 4.2等效的通配符?
这个想法是让所有以某些前缀开头的路由都到达其指定的控制器,然后控制器将比较整个URI字符串,并检索数据库中具有匹配的段的页面。
您可以使用允许任何值的route参数来执行此操作。例如(.*)。然后,您将需要处理来自单个控制器动作的所有请求。
Route::get('members/{action}', 'MemberController@all')->where('action', '(.*)');
Run Code Online (Sandbox Code Playgroud)
更进一步,如果您不知道所有GET请求都是请求,则可以使用:any方法类型。
Route::any('members/{action}', 'MemberController@all')->where('action', '(.*));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1951 次 |
| 最近记录: |