0

在我正在使用的框架中,如果我想在视图中呈现数据,我会这样做:

<h1><?php echo $this->header ?></h1>

最近我发现 xTemplate 并注意到它使用字符串占位符,因此 xTemplate 中的上述代码将是:

<h1>{HEADER}</h1>

我一直认为视图中的一点 php 是可以的,而且比 str_replace 更快,但我最近开始与设计师合作,我认为 html 中的很多 php 标签可能会让他感到困惑。

我想知道你对这个问题的看法。

谢谢。

注意:这可能是主观的,但我真的很想找出最好的方法,或者至少知道这两种方法的所有优缺点。

4

2 回答 2

8

PHP 被设计为一种模板语言。我认为在模板引擎之上创建模板引擎没有意义。

比较

 Hi, <b><?=$username?></b>

 Hi, <b>{username}</b>

第一个变体真的很复杂吗?

如果您尝试 Smarty,您会惊讶于它的复杂程度。这是纯粹的邪恶: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 更易于阅读吗?别逗我笑。

邪恶的。不要使用 PHP 本身以外的任何模板引擎。为你的设计师提供足够的辅助功能,他不会抱怨。

于 2010-01-05T17:53:05.310 回答
1

有趣的问题。我不知道设计师看到 PHP 时会有多困惑,但 PHP 具有以下优点:

  • 您不必学习另一种语法(模板语言)
  • PHP 足够灵活,可以在模板中做所有事情(当然你不应该做所有事情)。
于 2010-01-05T17:54:21.437 回答