如何在 Zend/MVC 的视图文件中包含 PHP 文件?
Posted
技术标签:
【中文标题】如何在 Zend/MVC 的视图文件中包含 PHP 文件?【英文标题】:How do you include PHP files in the view file of a Zend/MVC? 【发布时间】:2011-01-28 00:16:32 【问题描述】:也许我不太了解 MVC 约定,但我正在尝试将一个文件包含到主索引控制器的 index.phtml 视图中,并且它一直给我一个应用程序错误。我不知道这个错误是什么或为什么它不起作用。但我在视图中使用了标准的 include_once(...)。
这甚至允许吗?
【问题讨论】:
那么如何为跨页面使用的类似模板创建视图? 【参考方案1】:Zend 中的视图仍然只是一个 php 文件。如果您在使用 include_once() 的视图中遇到错误,可能是因为在包含路径中找不到您想要的文件。尝试将 get_include_path() 转储到视图中,您将看到 PHP 正在搜索哪些目录来查找您的包含文件。
作为 include_once 的替代方法,您可以使用
<? echo $this->render('module/action.phtml') ?>
拉入文件。
【讨论】:
【参考方案2】:为此目的存在部分观点
http://framework.zend.com/manual/en/zend.view.helpers.html (ctrl+f Partial Helper
)
【讨论】:
【参考方案3】:视图只是将要呈现的 HTML。这是处理的最后一件事。首先调用控制器,然后调用其中需要的任何模型。将所有数据传递给视图后,将呈现视图的 HTML。
简而言之:无论您在视图中包含什么,控制器都不会意识到它。您需要在代码的前面运行您的 PHP 包含。如果您在控制器中执行此操作,我想它应该可以正常工作(未经测试,所以我不保证任何事情)。
【讨论】:
【参考方案4】:您可以为此目的使用 Zend View Helpers
【讨论】:
【参考方案5】:上次这对我来说很好。你可以试试这个:
<?php echo $this->partial('common/left_menu.phtml'); ?>
【讨论】:
以上是关于如何在 Zend/MVC 的视图文件中包含 PHP 文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在另一个 php.ini 文件中包含一个 php.ini 文件?