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 が設定されました。

と、画面に表示されます。

スポンサーリンク

関連記事

スポンサーリンク

EclipseでDojaとStarの開発環境を変更する

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る