我认为PHP模板系统的基本原理是字符串替换,对吧?所以我可以使用一个字符串来保存我的html模板代码
$str_template = "<html><head><title>{the_title}</title><body>{the_content}</body></html>"
Run Code Online (Sandbox Code Playgroud)
并在下面的代码中只需执行str_replace将数据推送到我的模板变量中
str_replace( $str_template, '{the_title}', $some_runtime_generated_title );
str_replace( $str_template, '{the_content}', $some_runtime_generated_content );
Run Code Online (Sandbox Code Playgroud)
然后终于
echo $str_template;
Run Code Online (Sandbox Code Playgroud)
这有希望使整个变量传递过程更快一些吗?我知道这可能是一个奇怪的问题,但有人试过吗?
是的,这是模板系统背后的基本思想.您可以进一步抽象它,让其他方法添加括号例如.
您还可以使用带有str_replace的数组,因此可以使用这样的一个函数调用进行更多替换
str_replace(array('{the_title}', '{the_content}'), array($title, $content), $str_template);
Run Code Online (Sandbox Code Playgroud)
我使用的系统是Spoon Library,他们的模板系统非常坚固,包括编译模板,这是一个巨大的性能提升.
这通常是模板系统的基本思想。真正的模板系统具有更多功能,但这就是它们的核心功能。
您问这是否会“使整个变量传递过程更快一些”。比什么还快?您现在正在做的事情是否遇到了性能问题?
| 归档时间: |
|
| 查看次数: |
10784 次 |
| 最近记录: |