我是Zend Framework的新手。 第一件事 第一,我想将.phtml
扩展更改为视图中的.php
。
经过研究,我发现这段代码在不同控制器的 init 方法中有效:
$this->getHelper('viewRenderer')->setViewSuffix('php');
问题是我必须在每个控制器中重复该代码,这是不好的,并且违背了使用框架的目的。
我本可以将Zend_Controller_Action
子类化为某个基本控制器,其中包含所有其他控制器都可以继承的所有共享代码,但据我所知,这不是最佳实践。
如何在不子类化Zend_Controller_Action
类且不使用任何插件或操作助手的情况下实现共享代码
提前谢谢。
刚想通了..无需任何基本控制器。
在引导中,我编写了以下代码:
protected function _initViewSuffix() {
$this->bootstrap('View');
$view = $this->getResource('View');
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer($view);
$viewRenderer->setViewSuffix('php');
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
}
然后在应用程序.ini中,我添加了这一行:
resources.view = []
现在它起作用了。