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 の foreach より読みやすいですか? 私を笑わせないでください。

悪の。PHP 自体以外のテンプレート エンジンは使用しないでください。デザイナーに十分なヘルパー関数を提供すれば、デザイナーは文句を言いません。

于 2010-01-05T17:53:05.310 に答える
1

興味深い質問です。PHP ではなく、PHP を次のような利点と見なして、設計者がどれほど混乱するかはわかりません。

  • 別の構文 (テンプレート言語) を学ぶ必要はありません
  • PHP は、テンプレートですべてを実行できるほど柔軟です (もちろん、すべてを実行する必要はありません)。
于 2010-01-05T17:54:21.437 に答える