我想更改 Zend Framework 生成 URL 的方式:
$routeString = '/section/:sectionName';
$route = new Zend_Controller_Router_Route(routeString, array( etc, etc... );
...对此...
$routeString = '/section_:sectionName';
$route = new Zend_Controller_Router_Route(routeString, array( etc, etc... );
请注意,在第二个选项中,$routeString
中的中间斜杠被下划线替换。
当我进行此更改时,路由器将停止识别路由和变量。我觉得框架强加这样的东西很奇怪,所以我确信我在文档中遗漏了一些东西。
干杯!
最佳答案
我认为你可以使用Zend_Controller_Router_Route_Regex来做到这一点。作为示例,我将在 application.ini 中为您的路线提供设置:
resources.router.routes.section.type = "Zend_Controller_Router_Route_Regex"
resources.router.routes.section.route = "section_(\d+)"
resources.router.routes.section.defaults.module = yourmodule
resources.router.routes.section.defaults.controller = yourcontroller
resources.router.routes.section.defaults.action = youraction
resources.router.routes.section.map.1 = "sectionName"
resources.router.routes.section.reverse = "section/%d"
希望这会对您有所帮助,或者至少为您指明正确的方向。
关于php - 有没有办法更改 Zend Framework 中的路由变量分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5318928/