Laravel结合路线

时间:2013-06-11 12:09:10

标签: php laravel laravel-routing

有没有办法将这两条路线结合起来?

Route::get('project/(:any)', 'dashboard.project@(:1)');
Route::get('project/(:any)/(:any)', 'dashboard.project@(:1)');

我问,因为第二条路线,我必须添加它以便以下请求工作:

site.com/project/new => method
site.com/project/view/12351326 => method and parameter

1 个答案:

答案 0 :(得分:1)

您可以在get()方法的第一个参数中使用正则表达式来组合它们。

请参阅文档中的Regular Expression Route Constraints部分。

这样的事可能有用:

Route::get('project/{name}', function($name)
{
    //
})
->where('name', '[A-Za-z0-9\/]+');

正则表达式匹配/projects/something/anything等网址。但是,这可能太松了 - 它也会匹配/projects/any/number/of/url/segments。但我相信更多的RegEx可以帮助制定更好的约束条件,以便更接近您所寻找的目标。