Php Zend Framework使用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

我们有一个开发人员代码,他是用php编写的。在研究代码时,我们注意到所有视图都使用html作为扩展,而不是phtml。我们通过将一个文件重命名为phtml进行了检查,它给出了一个错误。令人惊讶的是,他们没有在应用程序中这样做,而是在Zend级别这样做

如果我用新的下载替换库目录中的zend framework,应用程序将停止工作。说找不到视图

有人知道他们是如何通过修改ZF来搜索html而不是phtml文件的吗

还有一件事:
在所有地方,他都在使用一个变量$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的另一个响应是有效的