【发布时间】:2014-10-17 18:14:45
【问题描述】:
我正在尝试提出一个模板系统,该系统支持继承和扩展,因此最终页面是由不同开发人员/设计人员编写的不同模板层的结果。除了将模板存储在可以通过字符串替换函数搜索和操作的变量中之外,我想不出任何其他方法。我真的不太喜欢这种方式,但是还有其他方法可以实现吗?
如果我必须这样做,即将模板存储在变量中然后回显它们,性能方面有什么区别(速度和内存使用率)而不是包含一个包含模板的文件?
//file1.php
<?php
$string = 'abcdef';
echo $string;
//文件2.php
abcdef
//文件3.php
<?php
include 'file1.php';
/* Or */
include 'file2.php';
考虑到 $string 中非常大的字符串,例如超过 1MB 甚至更大,哪种方法在性能和内存使用方面更好?
【问题讨论】:
-
就我个人而言,我认为两者之间不会有太大的区别。这可能归结为偏好。
-
@ChrisForrence,我只是添加了代码示例以使情况更清楚。考虑到 $string 中的一个非常大的字符串,例如 1MB,它仍然没有太大区别吗?
-
@kavoir.com 据我所知,没有(因为您仍然需要获取文件内容才能操作模板)。需要考虑的事情:您可以使用
file_get_contents()获取文件的内容,它读取文件并将内容存储到变量中(结合您的两种方法)。另外,为什么不使用像 Twig 这样的现成模板系统?
标签: php string performance