简析PHPCMS的模板解析工作流

现在很多PHP系统都有自己模板系统,PHPCMS和DISCUZ都是用的自己模板库,他们都称得上超级高效。

PHPCMS的模板解析函数库位于PHPCMS根目录的INCLUDE中,这个从3.0到现在的2008一直都没有变过。它的名字叫template.func.php,从文件名就可以知道,它是一个模板方面的函数库文件。

它的工作流程是这样的,先由执行程序调用根目录下INCLUDE中主函数库global.func.php中的template函数,并有它指定调用模板的位置和模板名称,同步调用template.func.php下的template_compile函数对模板规则进行处理,而其中模板的编译解释就由template_parse的正则函数来搞定了。

我们找到template_parse命令可以看到,我们模板中常用的{if}{loop}{tag}标签,这里都用提及。2008版中最为红火的{get}万能标签的出处也不外乎

$str = preg_replace(”/\{get\s+([^}]+)\}/e”, “get_parse(’\\1′)”, $str);

$str = preg_replace(”/\{\/get\}/”,”<?php } unset(\$DATA); ?>”,$str);

这么看来,phpcms的模板系统还是蛮简单,呵呵

希望对大家有所帮助。

相关日志


如果你觉得这篇文章不错,你可以 给我留个回复订阅它。无论如何,谢谢你的支持!

评论

还没有评论。

发表评论

(必填)

(必填)