【发布时间】:2011-02-09 10:34:58
【问题描述】:
我如何在我自己的模板类版本中解析 .tpl 文件中的 {if $var > 2} 或 {if $var}。我不想使用 smarty,因为我不需要他们所有的插件。我只想包含、if、for 和 foreach 语句。
【问题讨论】:
-
除非这是出于学习目的(我怀疑是因为您需要代码),否则我会使用 Smarty(如果您不需要插件,请删除它们)或原生 PHP。无需重新发明已经发明了数千次的轮子
-
如果您不想使用 Smarty,这并不排除将其用作实现细节的参考。他们正在使用正则表达式将模板伪代码转换为 php。
-
我这样做是为了学习,但我很难理解它。因此,我不想使用 smarty,而是想创建自己的模板系统,以便更好地了解模板的工作原理。
-
一旦你开始走这条路,你的模板语言就变成了一种编程语言。这并没有错(模板工具包是一件很美的事情),但是编写编程语言并不是胆小的人。我会先阅读解释器理论。
-
我认为你应该使用 Smarty。如果您不这样做,您的手工解决方案将 (a) 有缺陷,并且 (b) 方式 比仅使用 Smarty 更复杂,即使您不使用他们的插件也是如此。而且,让我们面对现实吧,如果您不想使用他们的插件......那么您不必这样做。
标签: php templates templating templating-engine