经过一些游戏和研究后,似乎在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字符串并检索db中具有匹配的slug的页面。
答案 0 :(得分:4)
您可以使用允许任何值的路由参数来执行此操作。例如。 (.*)
。然后,您需要处理来自单个控制器操作的所有请求。
Route::get('members/{action}', 'MemberController@all')->where('action', '(.*));
为了更进一步,如果您不知道所有请求都是GET
个请求,则可以使用:any
方法类型。
Route::any('members/{action}', 'MemberController@all')->where('action', '(.*));
答案 1 :(得分:1)
head{
color: cyan;
}
body{
color: lightblue;
}
或者更好的是你可以使用组路线。它更快,并优化您的应用程序。
<html>
<head color="cyan">
<h1>Hello!</h1>
</head>
<body>
<p> In This you will find.......</p>
</body>
</html>