在我正在使用的框架中,如果我想在视图中显示数据,我会这样做:
<h1><?php echo $this->header ?></h1>
最近我发现xTemplate并注意到它使用字符串占位符,因此xTemplate中的上述代码将是:
<h1>{HEADER}</h1>
我一直认为视图中的一个小软件是好的,也比做一个str_replace更快,但我最近开始和一个设计师合作,我认为html中的很多php标签可能会让他感到困惑。
我想知道你对这个问题的想法。
感谢。
注意:这可能是主观的,但我真的想找出最好的方法,或者至少知道这两种方法的所有优点和缺点。
答案 0 :(得分:8)
PHP被设计为模板语言。我认为在模板引擎上面创建模板引擎毫无意义。
比较
Hi, <b><?=$username?></b>
Hi, <b>{username}</b>
第一个变种真的很复杂吗?
如果你尝试Smarty,你会非常惊讶它的复杂程度。这是纯粹的EVIL:http://www.smarty.net/manual/en/language.function.foreach.php
{foreach name=outer item=contact from=$contacts}
<hr />
{foreach key=key item=item from=$contact}
{$key}: {$item}<br />
{/foreach}
{/foreach}
阅读比PHP的foreachs更简单吗?不要让我笑。
EVIL。 不要使用PHP本身以外的任何模板引擎。 为您的设计师提供足够的帮助功能,他不会抱怨。
答案 1 :(得分:1)
有趣的问题。我不知道看到PHP会让设计师感到困惑,但PHP具有以下优势: