Smarty

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
Smarty
開発元 Monte Ohrt, Messju Mohr
最新版 3.1.30 / 2016年8月14日(12か月前) (2016-08-14
プログラミング言語 PHP
種別 テンプレートエンジン
ライセンス LGPL
公式サイト www.smarty.net
テンプレートを表示

Smartyは、PHPで実装され、主にPHPアプリケーションで使用されるテンプレートエンジンである。テンプレート自体のキャッシュ機能を有している。現在ではPHPの多くのWebアプリケーションフレームワークでデフォルトのテンプレートエンジンとして採用されている。ライセンスはLGPL

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>

特徴[編集]

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

バージョン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 - Sinfony で採用されている同様のテンプレートエンジン

外部リンク[編集]

脚注[編集]