Laravel组路由参数带前缀

时间:2013-12-22 13:24:54

标签: php laravel-4

我注意到,您在组内路由前缀中指定的参数也会提供给位于该特定组内的所有控制器,这些控制器是有意义的。

例如:

Route::group(array('prefix' => 'team/{id}/{slug}', 'before' => 'auth'), function () {
Route::get('documents/{document}', 'controllers\\team\\DocumentsController@show');
});

DocumentsController的show方法必须遵循所有参数的顺序:

show($id, $slug, $document)

但是,我真的不需要DocumentsController中的Team id和slug,它们只是用于漂亮的URL。无论如何,只有将为该路由指定的参数传递给DocumentsController(即排除前缀参数),如下所示:

show($document)

1 个答案:

答案 0 :(得分:1)

您可以在路由模式到达控制器之前解析它。

您可以在boot()方法中执行此操作。

这是一个非常复杂的问题需要解决,但我可以给你一些指导。看一下'Illuminate \ Routing \ Route',你应该看一下Route类中的函数setPattern()