MVC-PHP中的全局文件

时间:2012-02-28 08:59:55

标签: php model-view-controller

首次在PHP中修改MVC。我正在按照一个简单的教程,我偶然发现了当前教程中没有提到的问题:如果我想要包括MVC原则中包含全局文件(如页眉和页脚)的正确方法是什么每个页面的一些特殊功能(在页眉和/或页脚内)?

说我有一个“日志页面”和一个“主页”,其中都包含footer.php。但是在“日志页面”上我想在页脚中添加一些其他文本(以保持简单)。制作单独的文件是一种解决方案,但这感觉很尴尬,并且在我的脑海中打破了MVC原则。

另一种解决方案可能是从控制器传递$ _REQUEST来确定应该将哪个视图加载到页脚中 - 但是这似乎又打破了MVC,因为在我看来,这是应用程序逻辑?

我开始相信的第三个解决方案是最好的(请记住我正在学习!)是将数据从模型通过控制器传递到页脚和页眉,就像我对页面视图一样,从而使自己的页眉和页脚视图。

2 个答案:

答案 0 :(得分:0)

由于这些是全局文件,因此包含机制与MVC模式无关。虽然这些页眉/页脚中的函数应遵循MVC模式执行。

我能想到的一个解决方案是添加:

php_admin_value auto_prepend_file "/Path/to/header.php"
php_admin_value auto_append_file "/Path/to/footer.php"

到您的VirtualHost定义。

添加机制以包含要包含在这些文件中的视图。

答案 1 :(得分:0)

你需要的是在MVC中称为布局,是的,它是一个视图。以下是一个相关问题的答案:View in MVC, what is a layout and how to create one