问题标签 [zend-router]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Zend Expressive 中的主机名路由
Zend Expressive 有 Aura.Router、FastRoute 和 zend-mvc 路由器的适配器,并且路由可以轻松匹配方法和路径:
使用zend-mvc 路由器组件可以匹配主机名:
这也可以通过 Symfony路由组件实现:
因此,我希望能够使用 Expressive 做类似的事情,并根据子域将请求分派到不同的中间件:
提前致谢!
php - 可访问 db 的 ZF3 路由
我是 zend 框架 3 的新手,我正在尝试创建一个新的路由类型,可以在数据库中搜索以匹配路由路径。我正在使用学说 orm,不幸的是我不知道如何在路由类中注入实体管理器。
我尝试为路由定义一个工厂类以访问服务管理器,但这不起作用,因为路由类必须实现 Zend\Router\Http\RouteInterface 声明路由类必须包含它自己的工厂,定义为“函数工厂($选项)”。
有人可以帮忙吗?
非常感谢。
php - ZF3:如何根据方法和路由路由到特定的控制器/动作?
在我的模块中module.config.php
,我有这样的东西:
我想要达到的目标:
- 如果路由/index/foo被请求并且被GET方法请求,那么它应该被路由到IndexController fooAction
- 如果路由/index/foo被请求并且被POST方法请求,那么它应该被路由到IndexController bar Action(注意这里是 barAction 而不是 fooAction)
如何做到这一点?
router - Zend 路由问题
我正在将一个(相当草率的)zend 表达性网站转换为本地餐厅的 zend 框架 3 网站。当我在富有表现力的网站上设置路由时,我会根据如下所示的查询参数加载位置。
website.com/location?location=xxx
在我的新网站上,路由看起来像这样
website.com/locations/view/xxx
我需要设置一个将旧网址重定向到新网址的路线。到目前为止,我已经设置了一个查找 /location?location=[/:location] 的路由,希望它能识别这个“Segment”路由并加载适当的 LocationsController。现在它给了我一个找不到路线的错误。
我的代码如下所示。
模块.config.php
位置控制器.php
任何帮助将不胜感激,如果需要,我可以提供更多信息。谢谢!
mezzio - hal 中生成的不完整链接(zend-expressive-hal + zend-router)
我的路线定义:
数据数据地图定义:
生成结果:
所有链接都是用不完整的href生成的,只有域部分,路由部分被剥离..
预期的结果是这样的:
我做错了,我不知道从哪里开始..
谢谢大家给我一些想法
简化控制器代码:
PS:我没有使用完整的zend-expressive只是zend-framework ..
php - ZF3 如何在首页路由中使用可选参数
我在向我的主路由添加可选参数时遇到问题。
这是我目前的路由器:
我的控制器:
domain.ltd/ 这行得通,我得到了沙龙参数的默认值,即“测试”
domain.ltd/test123 预期值为“test123”,但这会显示 404 错误:请求的 URL 无法通过路由匹配。
php - ZF3 高级路由 - 带有动作参数的父子路由
使用 ZF3,我想访问如下 URL:
这是我的路由配置:
父路由和子路由都有一个“动作”参数。此配置在直接调用时工作正常(即在浏览器中输入 url “/dossier/edit/3/droit/delete/2”)。但是,使用 viewHelper Url 构建 URL:
产生网址:
在显示创建(“添加”)视图时,而不是 URL :
从 topic Zf2 view helper URL child route with same params,我知道我可以为每个子操作创建一个子路由,从而摆脱第二个“action”参数,但这似乎不太正确。
我不禁想知道为什么我能够同时拥有 Segment 类型的父子路由并且仍然被卡住,因为没有办法重命名“动作”参数而不破坏 ZF 将 URL 路由到控制器方法的方式。
路线“droit”必须是“档案”的子路线,因为它需要档案的 id(并且将档案的 id 放在表单中的隐藏输入中似乎是一个更糟糕的解决方案)。
我错过了什么吗?没有更好的解决方案吗?
zend-framework3 - Zend 框架 3 路由器在单独的文件中(不在配置数组树中)
我正在使用本教程https://docs.zendframework.com/tutorials/getting-started/overview/来创建相册模块。这个对我有用。
项目内部有 /module/Album/config/module.config.php 文件,其中包含路由。路由器位于阵列树内。正如我之前的经验所表明的那样,我将来每个项目(甚至每个模块)都可以拥有数十条路线。
在此文档页面https://docs.zendframework.com/zend-router/routing/上,我找到了另一种将路由器添加到模块的方法。
这种方式比将路由存储在非常深的配置数组树中更适合我。
所以,我的问题是:我可以在哪里将 php 路由器代码放在配置树之外,就像我之前提到的那样?这样的路由器文件应该在模块中的什么位置?