ドキュメント
リリースカレンダー
リンク
SourceForge.jp SourceForge.JPへ
php.net PHP公式サイトへ

Smarty

 Smartyは、SyL WEBアプリケーションフレームワークで推奨している外部ライブラリのテンプレートエンジンです。

1. Smartyの設定方法

Smartyを使用するには、
  (1) 設定ファイル(defines.xml)でSmarty用の設定を行う
  (2) アクション設定ファイル(actions.xml)にSmartyを使用するように設定する
の2つがポイントです。

 (1) では、最低限 SYL_SMARTY_DIR, SYL_SMARTY_COMPILE_DIR の2つの内容を確認してください。 もし、SmartyをSyL標準の SyL/include/smarty にインストールする場合は、上記2つの設定はデフォルトで構いません。 ⇒ SyL標準のSmartyのインストール

 Smartyでコンパイルされる単位は、アプリケーションごとです。1プロジェクトに複数のアプリケーションがあったとしても コンパイルされたファイルの接頭辞に、アプリケーション名が付加されるので、バッティングすることはありません。

 (2) では、アクション設定ファイル(actions.xml)の 対応するアクション設定の viewType に「smarty」と設定します。 (レイアウトと共に使用する場合は、「layout.smarty」と設定します)

…
<action path="/example1/(.+)\.php"
        template="/example1/$1.html"
        viewType="smarty">
  <method name="execute{$action}">
    <arg type="component" reference="true">data</arg>
    <arg type="component" reference="true">context</arg>
  </method>
</action>
…

2. Smartyのコード例

 アクションファイル中で、データ管理オブジェクトに値をセットすることにより、テンプレート側で値を取得することができます。

// アクション側
...
$data->set('example', 'SyL');
...

// テンプレート側
...
Hello {$example}!
...