如何在 Laravel 中实现数组类型路由?

共5个回答,已解决, 标签: php laravel

我试图在 Laravel 5.8 中实现数组类型路由。
这是我尝试过的:

路线:: 获取 ('/','/myroute','mycontroller @ index');
路线:: 获取 (['/','/myroute'),'mycontroller @ index');
路线:: 获取 ([('/','/myroute'),'mycontroller @ index');
路线:: 获取 ('/' | '/myroute','mycontroller @ index');

基本上,我想做的是创建一个具有 “或” 条件的路线。
假设我想访问我的控制器索引使用Mydomain.dev/或者用于认证的/dev/myroute但是我得到了未找到 404 |.

试图阅读Laravel 文件但是我找不到指向我想做的事情的东西。

第1个答案(采用)

下面是要实现的示例。

路线:: 获取 ('/{param?}','mycontroller @ index')
-> 其中 (“参数” 、 “(myroute | myroute2)”);

通过上述路由,您可以为同一控制器函数创建以下 url

网站网站/
Www.site.com/myroute
Www.site.com/myroute2

我想这对你有帮助。

第2个答案
路线:: 获取 ('/{myroute?}',函数 () {
回声 “测试”;
})
-> 在哪里 (“myroute” 、 “(myroute | myseconte te)”);

这是一个例子。您在路由中定义了一个变量,该变量可以采用您在 where clase 中的值

这意味着端点

Api/myroute
Api/
Api/mysecondroute

将访问相同的路由并详细说明相同的控制器

第3个答案

不能将数组分配为路由 (aka)。Get 方法中的第一个参数),它应该是一个字符串。如果需要 2 条路由才能到达同一个控制器,请为此定义 2 条单独的路由。

路线:: get ('/Route','controller @ method');
路线:: get ('/another-Route','controller @ method');
第4个答案

如果您正在定义重定向到另一个 URI 的路由,则可以使用路线:: 重定向方法:

路线:: 重定向 ('/这里','/那里');
第5个答案

路由器不提供功能,但因为它是宏观的你可以添加一个简单的宏来解决这个问题。我将在下面提供一个例子。

RouteServiceProvider或者任何服务提供商,注册一个宏:

路线:: 宏 (“get”,函数 (数组 $ urls,$ action) {
For( $ url 为 $ url) {
路线:: get ($ url,$ action);
}
}

现在在你的Php 的路线

路线:: 获取 (['/' 、 '/myroute') 、 'mycontroller @ index')

相关问题

mysql _ 拿给数组 ()/mysql_fetch_assoc ()/mysql_fetch_row ()/mysql_num_rows 等希望参数1是资源或结果 参考-此错误在 PHP 中意味着什么? 如何在 PHP 中分析和处理 HTML\ xml? React Laravel 5.8.33 Axios: 使用 axios.post 请求注册用户时出错; 澄清代码问题 工匠命令 “品牌: 月 Laravel 验证” 是不确定的 使用 Laravel 创建新项目会引发异常