STACとは

STACは、PHP用の軽量な簡易テンプレートエンジンライブラリで、SimpleTemplateの仕様を元に機能追加等を行ったものです。

オリジナルのSimpleTemplateも同様の軽量エンジンですが、STACはSimpleTemplateの「導入の手軽さ」を犠牲にして「実行速度の速さ」を重視したコンセプトになっています。

ダウンロードはこちら

特徴

STACは以下のような特徴を持ちます。

  1. Smartyライクなテンプレート構文。
  2. 比較的軽量な動作。
  3. Smarty同様に、テンプレートファイルをPHPコードにコンパイルする。

STACは簡易ライブラリです。Smartyに比べると機能面で劣ります。
「If文と簡単なループがあればいい」といったような小さなWebアプリには適していますが、テンプレートファイル側で色々と操作が必要な場合はSmarty等、他のテンプレートエンジンを使用してください。

また、導入の手軽さではSimpleTemplateに劣ります。
SimpleTemplateは実行時にテンプレートファイルを解析するため、コンパイルディレクトリの準備などを必要とせず、ライブラリ本体の1ファイルを追加するだけで導入できるため、手軽さを求める場合はそちらの使用をおすすめします。テンプレートタグの少ないテンプレートであればSmartyより十分軽量に動作します。

動作環境

動作確認はLinux/apache(1.3系/2系)/PHP(5.2/5.3)とWindows/IIS5/PHP5.2で確認しています。

ライセンス

修正BSDライセンスです。
条文に従えばご利用は自由です。

修正BSDライセンスについては、STACに含まれているLICENSE.txtか、BSD Licenseをご覧下さい。

更新履歴

2012/11/03
STConfig.phpのパスをSTACクラスのコンストラクタで指定できるようにしました。
読み込むテンプレートファイルのパスをリクエストの種類によって変更したりするのに便利かもしれません。(Ver.0.1.3)
2012/07/31
STConfig.phpのSTAC_VAR_PREFIX定数を削除しました。
この修正でテンプレート変数名の制限がなくなりました。
コンパイル後のランダム文字列のローカル変数名が被る可能性がある不具合を修正しました。
その他、E_NOTICEレベルのエラーをいくつか潰しました。(Ver.0.1.2)
2012/04/05
ElseIfに条件を指定できるようにしました。
バグを1つ修正。(Ver.0.1.1)