经过一些试验和研究,似乎在Laravel 5+中Route::when()
和Route::filter()
已被弃用。我需要将所有以members
开头的URI路由到同一个控制器。例如:
Route::get('members/home', 'MembersController');
Route::get('members/view/all', 'MembersController');
Route::get('members/any/possible/route', 'MembersController');
我不会知道所有以成员开头的可能路由,因为它们将存储在我的数据库中。 Laravel 4.2 中有类似通配符的东西,我可以在 5.4 中使用吗?
这个想法是让任何以特定前缀开头的路由都去到指定的控制器,然后控制器将比较整个 URI 字符串并检索具有匹配 slug 的页面。
Route::resource('questions', 'QuestionController')->parameters(['questions' => 'question_slug'])->where(['slug' => '^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$']);
- Usman Developer