Templateエンジンの種類
| エンジン名 | コメント | リンク |
| HTML Template IT | PEARに標準でついてくるTemplateエンジン。 |
PEAR |
| HTML Template Sigma | PEARの拡張インストールTemplateエンジン。 | PEAR |
| Smarty | 最も有名なTemplateエンジン。 有名サイト御用達。多機能!! |
Smarty : Template Engine |
| patTemplate | 高機能Templateエンジン。 条件分岐、ブロック設定、テンプレート読み込みなど。 |
PHP Application Tools |
| HTMLテンプレート | 国産Templateエンジン。 ファイルサイズが小さく気軽に使えます。 rakutoネットで使用させて頂いております。 |
PHPカイハツ日誌 |
Benchmark_Timerで速度テスト
![]() |
左のカレンダーをTemplateエンジンを使用して表示してみました。 環境 OS:WindowsXP Apache/1.3.29 (Win32) PHP/4.3.4 測定結果は1000回の平均です。 Templateエンジンを使用せずに行った場合:0.002096827 require_once 'Benchmark/Timer.php'; $timer = new Benchmark_Timer; $timer->start(); /* テンプレート処理全部 */ output_template(); $timer->stop(); $profile = $timer->getProfiling(); echo '結果:'.$profile[1]['diff']; |
計測結果その1
| エンジン名 | コメント | 時間 |
| HTML Template IT | 繰り返しの処理でブロックの開始と終了を宣言しなければならず繰り返しが重複すると書き方がわかり辛い。 シンプルな構造なら構文エラーなどもつかめ易く導入しやすい。 |
0.01490524 |
| HTML Template Sigma | 個人的には「HTML Template IT」よりも書きやすい構造だと思う。 変数の渡し方もシンプルで導入しやすい。 |
0.013767205 |
| patTemplate | 今回のテストでは繰り返しの重複を行いたかったのですが、やり方が分かりませんでした。 一週間分を置き換えてそれを繰り返すことをしています。 |
0.019155259 |
| Smarty | plugin機能など豊富な拡張性があり大きなサイトなど複数人で作業するにはもってこいな重量級。 DreamWeaverなどのデザインソフトを利用してもSmartyのタグがはじかれることが無いそうです。 デバッグ作業を補助してくれる機能はとてもありがたい。 |
0.00975824 |
| Smarty ($compile_check=false) |
$compile_checkをOFFで速度アップを試みました。 運用の際はこの状態なのでこの値を評価すべきです。 $cachingを使った場合では (0.006741555)でした。 |
0.007707655 |
| HTMLテンプレート | これのスピードは抜群。 Templateエンジンのファイルサイズが小さいのはうれしい所です。 機能も最低限のものは揃っていてシンプルで使いやすい。 |
0.0047812 |
| HTMLテンプレート(高速) | これはHTMLテンプレートの速度アップ機能を使用したものです。 テンプレートファイルを解析しPHPコードに変換したファイルを生成する機能でテンプレートファイルが新しくなる毎に変換ファイルを生成。 今回のテストでは誤差程度の速度アップでしたがテンプレートファイルのサイズが大きいと目に見えるものとなります。 |
0.004744188 |
計測結果その2
| エンジン名 | コメント | 時間 |
| Smarty | plugin機能など豊富な拡張性があり大きなサイトなど複数人で作業するにはもってこいな重量級。 DreamWeaverなどのデザインソフトを利用してもSmartyのタグがはじかれることが無いそうです。 デバッグ作業を補助してくれる機能はとてもありがたい。 |
0.00975824 |
| Smarty ($compile_check=false) |
$compile_checkをOFFで速度アップを試みました。 運用の際はこの状態なのでこの値を評価すべきです。 $cachingを使った場合では (0.006741555)でした。 |
0.007707655 |
| HTMLテンプレート | これのスピードは抜群。 Templateエンジンのファイルサイズが小さいのはうれしい所です。 機能も最低限のものは揃っていてシンプルで使いやすい。 |
0.0047812 |
| HTMLテンプレート(高速) | これはHTMLテンプレートの速度アップ機能を使用したものです。 テンプレートファイルを解析しPHPコードに変換したファイルを生成する機能でテンプレートファイルが新しくなる毎に変換ファイルを生成。 今回のテストでは誤差程度の速度アップでしたがテンプレートファイルのサイズが大きいと目に見えるものとなります。 |
0.004744188 |
増えたファイルの管理
![]() |
Templateエンジンを使用するとプログラム用のファイルとテンプレート(デザイン)用のファイルが必要となります。 せっかくコードをスッキリさせたのにファイルが多すぎて、どのファイルを修正したらよいか……。などとなりかねません。 私は左図のようにプログラムファイルをhtdocsへ、テンプレートファイルをtemplatesへ別けそれぞれ同じ名前のディレクトリ名をつけて管理しています。 この方法だとtemplatesディレクトリに外部からの読み込み不可を設定するなどが出来ます。 |
Templateエンジンのすすめ まとめ
今回紹介したTemplateエンジン以外にも沢山のTemplateエンジンがあります。目的に応じたものを選んで使用してみてください。
今回紹介した中ではSmartyかHTMLテンプレートをお勧めします。
※速度テストの結果を出しましたが、それぞれのTemplateエンジンを使いこなしているわけではありませんので正しい結果ではないと思います。
しかも、各エンジン毎に得手・不得手があり公平な判断材料にならなかった部分があると思います。
※コメント部分に関しましては独断と偏見がありますことを御了承下さい。


