Simplate
は PHP の拡張モジュールとして動作する高速なテンプレートエンジンで、
Smarty と同じような記法が使えます。
Zend Framework のマニュアルに、Smarty をラップして使う
Zend_View_Smarty クラス
の簡単な例が載っていたので、
それを参考に Simplate をテンプレートエンジンに使えるようにしてみました。
標準の Zend_View では、
<?php echo $this->escape($this->foo) ?>
のようにビュースクリプトに書かなければなりませんが、このコンポーネントを使えば、
{$foo}
のように簡潔に書くことができます *1。
アーカイブをダウンロードし、
include_path の通ったディレクトリで展開して下さい。
(sample/library のような各アプリケーションの library ディレクトリや、
ZendFramework-1.0.0-RC3/library ディレクトリなどで。)
$ cd ZendFramework-1.0.0-RC3/library $ tar xvfz Revulo_View_Simplate-0.3.tar.gz
Simplate そのもののインストール手順については、 こちら のページを見て下さい。
このコンポーネントは ViewRenderer ヘルパー経由で登録して使います。 例えばブートストラップ (index.php) 中で、 フロントコントローラのインスタンスを作成した後に、 以下のように登録することができます。
$view = new Revulo_View_Simplate(); $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); $viewRenderer->setView($view) ->setViewSuffix('tpl');
その他のタイミングで登録したい場合は、
ViewRenderer ヘルパーのマニュアル
を参照して下さい。
デリミタやキャッシュの設定を変更したい場合は、
$config = array( 'left_delimiter' => '{', 'right_delimiter' => '}', ); $view = new Revulo_View_Simplate($config);
のように、Revulo_View_Simplate クラスのオブジェクト作成時に設定することができます。
また、テンプレート及びコンパイルされたテンプレート用のディレクトリは、 それぞれ標準で以下のように設定されています。
これを別のディレクトリに設定したい場合は、 Revulo_View_Simplate::setBasePath() メソッドをオーバーライドして下さい。
動作確認用に簡単なサンプルを用意しました。 アーカイブをダウンロードし、 適当なディレクトリで p オプションを付けて展開して下さい。
$ cd sample $ tar xvfzp Revulo_Sample_Simplate-0.3.tar.gz
あとは http://…/sample/html/ のような URL にアクセスすれば試すことができます。