如何使用同一控制器方法对多个路由进行分组?

我的routes.php中有以下内容:

路由::get('test/foo','[email protected]');
路由::get('test/bar','[email protected]');
路径::get('test/baz','[email protected]');

我试图将其简化为以下内容:

路由::get(test/foo或test/bar或test/baz,'[email protected]');

一种有文档记录的方法在这里有点适用,即对路由设置正则表达式约束:

路由::get(’test/{uri}’,’[email protected])——>其中(’uri’,’regex代表foo、bar和baz…’);

然而,这种解决方案将是丑陋的。难道没有一种优雅的表达方式吗

foo、bar、baz中的

{uri}

用拉威尔的语言?否则,正则表达式会是什么样子

谢谢

p.S.我读过这篇文章,但它不适用于我的3条路线

我不知道你为什么说正则表达式很丑。我基本上认为正则表达式是最强大的工具之一

在您的情况下,我认为下面的代码片段应该可以完成这项工作:

Route::get('user/{name}',function($name){/})->其中(‘名称’,‘(foo | bar | baz)’)

(foo | bar | baz)RegExr将匹配以下任何字符串:“foo”、“bar”、“baz”。因此,如果需要更多,只需添加管道(|)并添加所需的字符串

发表评论