Laravel 5.1 通配符路由
Posted
技术标签:
【中文标题】Laravel 5.1 通配符路由【英文标题】:Laravel 5.1 Wildcard Route 【发布时间】:2015-10-12 17:22:11 【问题描述】:我正在创建一个允许用户定义类别的 CMS。类别下可以有其他类别或页面。如何在 Laravel 中创建一个支持无限数量 URI 段的路由?
我已经尝试了以下......
Route::get('/resources/section', ['as' => 'show', 'uses' => 'MasterController@show']);
我也尝试将路线设为可选...
Route::get('/resources/section?', ['as' => 'show', 'uses' => 'MasterController@show']);
请记住,部分可以是多个部分或一个页面。
【问题讨论】:
【参考方案1】:首先,您需要提供一个正则表达式来匹配参数值。 Laravel 路由器将 / 视为参数分隔符,您必须更改该行为。你可以这样做:
Route::get('/resources/section',
[
'as' => 'show',
'uses' => 'MasterController@show'
])
->where(['section' => '.*']);
这样,任何出现在 /resources/ 之后并与正则表达式匹配的内容都将传递给控制器中的 $section 变量。
【讨论】:
以上是关于Laravel 5.1 通配符路由的主要内容,如果未能解决你的问题,请参考以下文章