PHP:ob + include(或)仅包含..引入文件?

时间:2013-10-25 06:53:37

标签: php templates ob-start php-include

我正在使用PHP创建一个简单的MVC框架。现在我必须决定是否应该使用:
(在这些方法中)

ob_start();
include(....);
ob_get_contents();

include(....);

严重的是哪一个是标准(或者应该是什么?)..因为我可以看到我的所有$variables (一直分配在上面)是可以重新调用的模板文件..由上述任一方法调用。

1 个答案:

答案 0 :(得分:1)

根据您的问题,我可以假设您不使用任何模板引擎,并且您的视图包含真正的PHP变量,但不包含%var%。如果您的框架非常简单,并且每个页面/控制器调用只有一个模板,则不需要输出缓冲。就像你说的那样,你只需在分配了所有变量之后就把你的单个包含。否则,如果您有子模板或类似的东西(因此您有多个包含),则应使用输出缓冲。这里的一个关键特性是可以将ob_get_contents()结果存储在变量中,因此您可以像使用简单字符串一样处理视图内容。这允许考虑其他一些很好的功能,如缓存视图内容等。