Smarty
SmartyはPHPのテンプレートエンジンです。
PHP4.0.6以降で動作します。
Smarty日本(暫定)公式サイト
Smarty公式サイト
Smarty日本公式サイト
ダウンロードパッケージを解凍すると、libs というディレクトリがあり、それがSmartyのソースが実際に入っているコードです。
Smarty.class.php を読み込んで使います。
<?php require'Smarty/libs/smarty.class.php'; function get_smarty_object(){ $smarty = new Smarty(); // テンプレートファイルが存在するディレクトリ $smarty->template_dir = "./template/"; // テンプレートのキャッシュを作成するディレクトリ $smarty->compile_dir = "./compile/"; return $smarty; } $smarty = get_smarty_object(); ?>
で、このように関数を使って $smarty オブジェクトを作ります。
オブジェクト指向が好きな方は以下のような感じで Smarty のサブクラスを作ってもよいでしょう。
<?php class customSmarty extends Smarty { function customSmarty() { $this->Smarty(); $this->template_dir = ""; $this->compile_dir = ""; } } $smarty = new customSmarty(); ?>
※template_dir として指定しているのは、テンプレートファイルのある基本位置を指定しています。
これにより、テンプレートをファイル名だけで呼び出すことができるようになります。
※compile_dir として指定しているのは、Smartyはテンプレートを高速に処理するため、2回目以降のアクセス用にキャッシュを作成します。
そのキャッシュを保存するディレクトリを指定しています。
$smarty オブジェクトを作ったら、
$smarty->assign("hensu","aaa"); $smarty->display("テンプレートファイル名");
のようにすると、テンプレートファイル名で指定したテンプレートファイルを読み込んで画面に出力します。
テンプレートファイルの中身は、
hensu に {$hensu} が設定されました。
のような感じだとすると
hensu に aaa が設定されました。
と、画面に表示されます。
関連記事
- Smarty2をPHP7に対応させる方法(The /e modifier is no longer supported Smarty_Compiler.class.php, line 270)
- Smarty error unrecognized tag 'assign' 組み込み関数が使えない
- 各フィルターの動作するタイミング
- 3桁づつカンマ区切りにする拡張モディファー
- 値が空だったら、 を入れるモディファー
- 携帯表示用に文字を全角から半角にする
- Docomoの個体識別情報取得パラメータ『NULLGWDOCOMO』をSmartyで付ける
- Docomoの個体識別情報iモードID(guid)取得パラメータ『guid=on』をSmartyで付ける
- Docomoの個体識別情報取得属性『utn』をSmartyで付ける
- コンパイルファイル(compile)を削除できない
- 読み込まれているテンプレ名を取得
- env , server を読み込む
- クッキーを読み込む
- GET,POSTなどのパラメータを読み出す
- 連想配列でパラメータを渡す方法
- オブジェクトのメンバ変数を読み込む
- 配列を読み込む
スポンサーリンク