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などのパラメータを読み出す
- 連想配列でパラメータを渡す方法
- オブジェクトのメンバ変数を読み込む
- 配列を読み込む
スポンサーリンク





