プログラマのNです。
phpのテンプレートエンジンを、私も最近使い始めたのですが
どれがいいのか使ってみるまではわかりません。
とりかかりに、PEARのHTML_Template_Sigmaを使ってみました。
これは正直おすすめできません。
ループするブロック構造の使い回しが一見便利そうなのですが
ブロックを入れ子にしたり、複数ブロックが存在する場合などに
名前が同じ変数がある場合、非常にはまります。
このテンプレートエンジンをつかうと無駄なデバック時間が増えました。
また動作速度も遅いと思われます。
あと、私の使い方に問題があるのかもしれませんが
無限ループなども起きるケースがありました。
絶対に使わないほうがいいと言いたいです。
かわりに非常にお勧めできるのがsmartyです。
これは非常に高速です。テンプレートを使わずに
直接phpでhtmlを吐き出しているphpプログラムよりも
smartyを使ってテンプレート化したほうが表示が非常に高速になります。
変数名は$assoc.nameのように連想配列名.キー名のような命名規則になるため名前が重複することもありません。
このようなテンプレートエンジンを使う場合、連想配列、あるいは連想配列の配列を作って、それをテンプレートエンジンに渡すという処理を行います。
DBのテーブルををフェッチしながら1レコードずつ表示するほうが
一見速いような気がしておりましたが
smartyでは、
1.DBのテーブルを全レコードフェッチ
2.全レコードの連想配列の配列を作成
3.smartyに連想配列の配列を渡す
このような処理を作る必要があり、無駄な配列を作ることになり
遅くなると思っておりましたが、実際使ってみると
テンプレート化しないphp処理で、1レコードずつフェッチしながら表示する
処理をsmartyに置き換えたところ非常に高速になりました。
使ったことがない人は一度使ってみることをお勧めします。
phpテンプレートエンジンに関して