繁体   English   中英

Laravel 4使用任意数量的URL段进行路由

[英]Laravel 4 Routing with Arbitrary Number of URL Segments

我有一个试图移植到L4的L3应用程序。 在L3版本中,我的路线之一是

Route::get('/(:any)/(:all?)', etc...

这使我可以处理任意数量的URL段,例如:

/contact_page
/store_category
/store_category/shirts_category
/store_category/shirts_category/specific_shirt_page
/an/arbitrary/number/of/nested/categories

但是在L4中,我无法弄清楚如何模拟(:all?)的功能。

以下代码有效:

Route::get('/{arg1?}/{arg2?}/{arg3?}', function($arg1='home', $arg2, $arg3)
{
  //do something
});

因此,我可以添加大量可选参数(超过我认为在实际使用中所需要的参数),但这不是很优雅。

Laravel 4中是否有某种方法可以定义可以响应任意数量的URL段的Route?

您可以在路线中添加模式条件,例如:

Route::get('{any}/{args}', function($action, $args = null)
{
   // do something like return print_r(explode('/', $args), true);
})->where('args', '(.*)');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM