Smarty

テンプレートエンジンの一つ

Smartyは、PHPで実装され、主にPHPアプリケーションで使用されるテンプレートエンジンである。テンプレート自体のキャッシュ機能を有している。ライセンスはLGPL

Smarty
開発元 Monte Ohrt, Messju Mohr
最新版
4.1.1 / 2022年5月17日 (21か月前) (2022-05-17)[1]
リポジトリ ウィキデータを編集
プログラミング
言語
PHP
種別 テンプレートエンジン
ライセンス LGPL
公式サイト www.smarty.net
テンプレートを表示

Smartyのテンプレート 編集

{$title_text|escape} {$body_html} この{$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出力されません。 *}
{$body_html}
</body> <!-- これはコメントです。コンパイル時にはHTML出力されません。 -->
</html>

特徴 編集

  • 高速に動作する[2]
  • 独自の関数や修飾子を拡張可能[2]
  • テンプレートの継承[2]

バージョン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> テンプレートのキャッシュを貯めておくためのディレクトリ

脚注 編集

関連項目 編集

  • Twig - Symfonyで採用されている同様のテンプレートエンジン

外部リンク 編集