Php Zend Framework使用html文件作为查看脚本,而不是phtml
我们有一个开发人员代码,他是用php编写的。在研究代码时,我们注意到所有视图都使用html作为扩展,而不是phtml。我们通过将一个文件重命名为phtml进行了检查,它给出了一个错误。令人惊讶的是,他们没有在应用程序中这样做,而是在Zend级别这样做 如果我用新的下载替换库目录中的zend framework,应用程序将停止工作。说找不到视图 有人知道他们是如何通过修改ZF来搜索html而不是phtml文件的吗 还有一件事:Php Zend Framework使用html文件作为查看脚本,而不是phtml,php,model-view-controller,zend-view,zend-framework,Php,Model View Controller,Zend View,Zend Framework,我们有一个开发人员代码,他是用php编写的。在研究代码时,我们注意到所有视图都使用html作为扩展,而不是phtml。我们通过将一个文件重命名为phtml进行了检查,它给出了一个错误。令人惊讶的是,他们没有在应用程序中这样做,而是在Zend级别这样做 如果我用新的下载替换库目录中的zend framework,应用程序将停止工作。说找不到视图 有人知道他们是如何通过修改ZF来搜索html而不是phtml文件的吗 还有一件事: 在所有地方,他都在使用一个变量$this->baseURL,而不是zF
在所有地方,他都在使用一个变量$this->baseURL,而不是zF提供的保存基本url的$this->baseURL。它不是一个助手,我检查了一下,似乎在代码中的任何地方都找不到声明,但神奇的是,它仍然可以通过所有的控制器和视图使用。他们是如何实施的?我搜索了所有文件,但没有定义baseURL,也没有将选项baseURL写入身份验证、存储或任何内容。他是怎么做到的?再次修改zf?他们可能更改了Zend Layout类文件Zend/Layout.php 您可以检查受保护的$_viewSuffix='html';而不是默认的phtml 您可以通过向引导添加以下内容来修复此问题,以便升级Zend Framework文件
protected function _initViewSuffix()
{
Zend_Layout::getMvcInstance()->setViewSuffix('html');
}
至于$baseURL变量,可以通过插件或操作助手设置
如果您得到视图对象,您可以执行类似$view->baseURL='xxx'的操作;使其可用。这可以通过插件或操作助手完成
希望对您有所帮助。他们可能已经更改了Zend Layout类文件Zend/Layout.php 您可以检查受保护的$_viewSuffix='html';而不是默认的phtml 您可以通过向引导添加以下内容来修复此问题,以便升级Zend Framework文件
protected function _initViewSuffix()
{
Zend_Layout::getMvcInstance()->setViewSuffix('html');
}
至于$baseURL变量,可以通过插件或操作助手设置
如果您得到视图对象,您可以执行类似$view->baseURL='xxx'的操作;使其可用。这可以通过插件或操作助手完成
希望对您有所帮助。在Zend/Controller/Action/Helper/ViewRenderer.php中可以找到
protected $_viewSuffix = 'html'
更改视图后缀的更好方法是将其添加到application/Bootstrap.php
或者您可以在所有控制器中通过此init方法进行更改
public function init()
{
$this->_helper->viewRenderer->setViewSuffix('html');
}
drew010提到的Zend_布局仅更改布局的后缀,而不更改视图的后缀。请查看Zend/Controller/Action/Helper/ViewRenderer.php,您可以在其中找到
protected $_viewSuffix = 'html'
更改视图后缀的更好方法是将其添加到application/Bootstrap.php
或者您可以在所有控制器中通过此init方法进行更改
public function init()
{
$this->_helper->viewRenderer->setViewSuffix('html');
}
drew010提到的Zend_布局只更改布局的后缀,而不更改视图的后缀。检查.htaccess和引导以查看是否有关于此行为的规则。检查.htaccess和引导以查看是否有关于此行为的规则。getMvcInstance对我来说为null,但是使用Zend_Controller_Action_HelperBroker workedgetMvcInstance的另一个响应对我来说是空的,但是使用Zend_Controller_Action_HelperBroker的另一个响应是有效的