如果我们在zend控制器和动作之间使用大写字母例如在默认模块中我们创建
class MyGoodController extends Zend_Controller_Action {
public fooBarAction()
{
}
}
则访问此操作浏览器url如下mysite.com/my-good/foo-bar
是否在zf中添加了默认的zend路由器来管理这个转换?因为我想使用URL视图助手为我生成正确的链接,它不为例如在视图
$this->url(array('action'=>'fooBar','controller=>'myGood'));
没有生成正确的url,它生成/myGood/fooBa
r而不是/my-good/foo-bar
如评论所述,您需要使用:
$this->url(array('action'=>'foo-bar','controller=>'my-good'));
URL视图帮助器根据应用程序中的路由集组装链接。
路由根据URL匹配请求。
归根结底是关注点的分离。helper只使用路由,路由也只处理URL中的内容。根据路由获取适当的类名是调度程序所关心的。
最好让路由只处理URL中的内容,因为调度程序可能会更改。对于使用标准调度器的用户,可能不适合使用其他调度器的用户。
为了完成你所要求的,你总是可以使用一个自定义视图帮助器来为你完成转换,但前提是你从不更改调度程序。