冷凍庫

個人用メモ

Smarty って何

php のテンプレートエンジン。

Smarty のユニークな特徴の一つは、テンプレートをコンパイルすることです。 つまり、Smarty がテンプレートファイルを読み込み、 それをもとにして PHP スクリプトを作成するということです。 一度作成してしまえば、その後はコンパイルされた PHP スクリプトが実行されるので、 各リクエスト時にテンプレートファイルのパースによるオーバーヘッドがありません。

Chapter 1. Smarty とは? | Smarty

php スクリプトが生成される?

それってapachephp を実行してファイルを作るみたいなこと?

つかいかた

実際にアクセスする url の php には、たとえば以下のように書き、実際の内容は全く現れない。

<?php

require( dirname( __FILE__ ).'/libs/Smarty.class.php' );

$smarty = new Smarty();

$smarty->template_dir = dirname( __FILE__ ).'/templates';
$smarty->compile_dir  = dirname( __FILE__ ).'/templates_c';

$smarty->assign('name', 'ワールド');
$smarty->display('sample.tpl');

?>

今から3分で,Smartyの使い方を覚えよう (PHPテンプレートエンジンの入門) - 主に言語とシステム開発に関して

$smarty->display() で指示された tpl に、実際に表示される内容を表すテンプレートがある。 libs/Smarty.class.php というのは公式からダウンロードした書庫内にあるファイル。 ダウンロードして展開し、そのパスを require する。

テンプレート自体は以下のような感じになる。

<html>
<head>
<title>Smartyのテスト</title>
</head>
<body>
Hello, {$name}!
</body>
</html>

今から3分で,Smartyの使い方を覚えよう (PHPテンプレートエンジンの入門) - 主に言語とシステム開発に関して

{$name} の部分が上記スクリプトで assing されたものに置き換わる。

参考