もう一度、PHPのテンプレートエンジンのテーマを取り上げます。 ホリバーがあるのではないかと思います...
最近、初心者のPHP開発者(心に悲しんでいる私は初心者だけではないと言う)がSmartyまたは別のテンプレートエンジンを各プロジェクトに配置し、ロジックと表示を分離する必要があることを口で証明することが自分の義務であると考える傾向に気付きました。 だから-まず、ロジックを頭の中でアイデアから分離する必要があり、大声で叫ぶのではなく-「私はスマートを使う-私は共有する」。
別の誤解-レイアウト/デザイナーはPHPタグを理解しませんが、Smartyは理解します-使い慣れたレイアウトを聞いてください。PHPを使用するのはそれほど難しくありません。例として、Wordpressを引用できます- PHP開発者が作成したものではありません。
同じスマートマニュアルの例を示します。
- {php}-タグ{php}を使用すると、PHPコードをテンプレートに直接埋め込むことができます。 もちろん、使用することはお勧めしませんが、「分離」を破ることができます
- {include_php}-PHPスクリプトをテンプレートに接続するために使用します。関数は古くなっています。Smarty用に独自の関数を作成することをお勧めします-これはレイアウト設計者にとって非常に簡単なソリューションです
Smartyのもう1つのマイナス点はPHP4であり、08/08/08以降はパッチも適用されません。
そして、IDEはSmartyなどの友人ではないという事実-私は腹を立てます(バックライトを設定しても、クラスや関数のナビゲーションは表示されません)
代替手段は何ですか?
Zend_Viewを見て
ください 。これは、ネイティブPHP構文を使用したテンプレートエンジンの美しい実装です。
PS
開発者の
ランクに関する以前の投稿を振り返ると、これをPHPにマッピングできます。
- ジュニアPHP開発者-Smartyとハリネズミを熱心に探索
- PHP開発者-どこでもSmartyを使用しますが、何かを疑い始めます
- シニアPHP開発者- 独自のテンプレートエンジンを作成し 、saltが何であるかを理解し、Zend_View alaにテンプレートエンジンを追加
- 開発者をリード-このようなささいなことを考えない
更新 :
- テンプレートエンジンは、ロジックと表示を分離するための単なるツールです。シミュレーションツールを使用する方法を理解していないと、何も良い結果が得られません。
- ネイティブPHP構文でテンプレートエンジンを使用します(例としてZend_Viewを示します)