Smarty

Smartyは、PHPで実装され、主にPHPアプリケーションで使用されるテンプレートエンジンである。テンプレート自体のキャッシュ機能を有している。ライセンスはLGPL。
Smartyのテンプレート.
この{$title_text}や{$body_html}に割り当てるにはPHP側で:
$smarty->assign('title_text', '文字列');
と記述する必要がある。
<!DOCTYPE html>
<html lang="ja">
<head>
 <meta charset="utf-8">
 <title>{$title_text|escape}</title>
</head>
</body> <!-- これはコメントです。コンパイル時にはHTML出力されません。 -->
</html>
バージョン2からバージョン3への変更点.
バージョン2では以下のメンバ変数がpublicになっておりアクセスできるようになっているが、バージョン3からはprotectedになっていてアクセスできないようになっている:
$template_dir
$config_dir
$plugins_dir
$cache_dir
$compile_dir
その代わり以下のプロパティやメソッドを使うことでバージョン2と同じようになる:
TemplateDir
ConfigDir
PluginsDir
CompileDir
CacheDir
・public function setTemplateDir($template_dir, $isConfig = false)
引数:<$template_dir>テンプレートソースのディレクトリ
　　 <$isConfig> config_dir を使うかどうかの指定(true:使用する false:使用しない)
・public function setConfigDir($config_dir)
引数:<$config_dir> 設定ファイルのディレクトリ
・public function setPluginsDir($plugins_dir)
引数：<$plugins_dir> プラグインのディレクトリ
・public function setCompileDir($compile_dir)
引数：<$compile_dir>コンパイル済みテンプレートを貯めておくためのディレクトリ
・public function setCacheDir($cache_dir)
引数:<$cache_dir> テンプレートのキャッシュを貯めておくためのディレクトリ