如果模块,控制器和视图名称已知,是否有办法在zend中生成完整的URL?
答案 0 :(得分:3)
我假设您的意思是模块,控制器和操作,因为视图由操作(通常)确定。 < / p>
在视图中:
echo $this->url(array('module' => $module,
'controller' => $controller,
'action' => $action));
未设置任何参数,默认为当前值,因此在任何给定视图中:
echo $this->url(); //link for the current request
该函数还接受另外两个参数:url($urlOptions, $name, $reset)
。 $name
允许您指定路由名称,$reset
将清除生成的任何当前参数的网址。
在控制器中:
这实际上没有记录,但遵循重定向器帮助程序的结构(事实上,我相信它由重定向器帮助程序使用):
$url = $this->getHelper('url')->simple($action, $controller, $module, $params);
您还可以使用查看助手后面的url()
方法:
$url = $this->getHelper('url')->url(array('module' => $module,
'controller' => $controller,
'action' => $action));