在视图中放置数据的最佳方式(MVC)

Ant*_*oCS 0 php model-view-controller templates views presentation

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

<h1><?php echo $this->header ?></h1>
Run Code Online (Sandbox Code Playgroud)

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

<h1>{HEADER}</h1>
Run Code Online (Sandbox Code Playgroud)

我一直认为视图中的一个小PHP是好的,也比做一个str_replace更快,但我最近开始与设计师合作,我认为html中的很多php标签可能会让他感到困惑.

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

谢谢.

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

Val*_*lev 8

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

相比

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

 Hi, <b>{username}</b>
Run Code Online (Sandbox Code Playgroud)

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

如果你尝试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}
Run Code Online (Sandbox Code Playgroud)

阅读比PHP的foreachs更简单吗?别笑我.

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