And*_*gan 13 php laravel laravel-4
在Laravel 4中定义路由时,是否可以在同一路径中定义多个URI路径?
目前我做以下事情:
Route::get('/', 'DashboardController@index');
Route::get('/dashboard', array('as' => 'dashboard', 'uses' => 'v1\DashboardController@index'));
Run Code Online (Sandbox Code Playgroud)
但这违背了我的目的,我想做点什么
Route::get('/, /dashboard', array('as' => 'dashboard', 'uses' => 'DashboardController@index'));
Run Code Online (Sandbox Code Playgroud)
小智 23
我相信你需要使用带有正则表达式的可选参数:
Route::get('/{name}', array(
'as' => 'dashboard',
'uses' => 'DashboardController@index')
)->where('name', '(dashboard)?');
Run Code Online (Sandbox Code Playgroud)
*假设您想要路由到同一个控制器,这个问题并不完全清楚.
*当前接受的答案不仅仅与/OR 匹配/dashboard.
Olu*_*kin 14
我发现好奇的缘故试图解决@Alex 发布的这个问题作为@graemec回答的帖子,以发布一个有效的解决方案:
Route::get('/{name}', [
'as' => 'dashboard',
'uses' => 'DashboardController@index'
]
)->where('name', 'home|dashboard|'); //add as many as possible separated by |
Run Code Online (Sandbox Code Playgroud)
因为第二个参数where()需要正则表达式,所以我们可以将它分配给完全匹配的任何一个,|所以我最初的想法是提出一个whereIn()进入Laravel路由的解决方案.
PS:这个例子是在Laravel 5.4.30上测试的
希望有人发现它有用
如果我理解你的问题我会说:
使用路由前缀:http://laravel.com/docs/routing#route-prefixing
或者(可选)路由参数:http://laravel.com/docs/routing#route-parameters
例如:
Route::group(array('prefix' => '/'), function() { Route::get('dashboard', 'DashboardController@index'); });
Run Code Online (Sandbox Code Playgroud)
或者
Route::get('/{dashboard?}', array('as' => 'dashboard', 'uses' => 'DashboardController@index'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21633 次 |
| 最近记录: |