php - 有没有办法更改 Zend Framework 中的路由变量分隔符?

标签 php zend-framework variables zend-route zend-controller-router

我想更改 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/

相关文章:

php - 我怎样才能 "close"网站只在星期天

PHP XMLReader 解析行 2 次

php - 最好的 PHP 错误类

c - arduino上的循环变量

php - Twig 用一个变量设置一个变量名 [TWIG/PHP]

javascript - 在页面加载时,创建 X 个 div

PHP: "unexpected $end"在文件中间

php - MySQL根据月份选择数据并将它们加在一起(最好在ZEND中)

php - 在 URL 中发送参数的最佳和安全方式

javascript - Browserify - 如何使我的模块可以访问变量?