我想知道是否可以在组前缀中使用可选参数。
像在任何其他路由中一样将其与 {parameter?}
一起使用是行不通的:
Route::group(array('prefix' => 'foo/{foo_id?}'), function() {
Route::any('bar', 'ApiFooController@bar');
});
我想捕获 foo/bar
和 foo/2/bar
。
据我所知,它只能在没有问号的情况下工作,但是foo/bar
(没有参数)会抛出错误。
我想避免定义两个单独的组,这将是一种解决方法。也许需要注意的是:bar
是除了资源之外的自定义函数,因此我不会尝试定义资源(例如 foo.bar
)。
最佳答案
我认为您可能需要定义两次路线,但不必创建另一个组。
这对你有用吗?
Route::group(array('prefix'=>'foo'),function() {
Route::any('bar', 'ApiFooController@bar');
Route::any('{foo_id}/bar', 'ApiFooController@bar');
});
关于php - 带有可选参数的路由组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18654887/