1

我目前正在将我的 ZF1 应用程序映射到 ZF2,并且想知道 ZF2 中是否有类似$this->view->getScriptPath()ZF1 的类似功能?我已经花了半天时间,但没有找到好的解决方案。至少获取 Module 的basePathModule模板文件夹也可以。

4

1 回答 1

1

根据后续问题,您真正要查找的是给定模板文件的路径。这实际上相对容易,假设您使用的是默认的 PhpRenderer:您获取解析器并解析路径。

如果您已经在视图脚本中,则以下内容应该有效:

$path = $this->resolver($templateName);

如果您在其他地方,则需要访问 PhpRenderer 或 ViewResolver。如果您有权访问服务管理器,请拉取 ViewResolver 服务,然后对其调用 resolve():

$resolver = $services->get('ViewResolver');
$path     = $resolver->resolve($templateName);

这比知道模块所在的位置要好,因为开发人员可能选择在应用程序中覆盖模板;解析器甚至会知道新位置在哪里。

于 2012-10-29T16:47:45.353 回答