/bonvhp/webapp/Smarty       [後へ]   [目次へ]   [次へ] ~ [] ~

Smarty:基本的な使い方

●Smarty クラス

先の sample.php を見ながら読んでください。

Smarty は、
Smarty.class.php にある Smarty クラスを使って、
機能を実現します。

まず、

require_once("Smarty/libs/Smarty.class.php");

で Smarty クラスを読み込みます。
次に、

$o_Smarty = new Smarty();

で、Smarty のインスタンス $o_Smarty を生成します。
以降、$o_Smarty を使って、具体的な設定を行います。

●assign

テンプレート・ファイルに、PHP の情報を伝えます。

$o_Smarty->assign(変数名, 値);

の形式です。

assign で、
PHP で作成した情報(='値') を '変数名' に格納します。
こうして渡された変数は、
テンプレート・ファイル内で、
{$変数名}
で参照します。

sample.php では、
$title = "List title:";
$o_Smarty->assign("title", $title);

sample.tpl では、
{$title}
となります。

変数には、配列を渡す事もできます。
設定方法は、上記と同じです。

●display

テンプレート・ファイルを変換して、目的の PHP ファイルを生成します。

$o_Smarty->display(テンプレート・ファイル名); 

の形式です。

デフォルトの設定では、
display を実行するファイルの直下 templates ディレクトリのファイルを採用します。

sample.php では、
$o_Smarty->display('sample.tpl'); 
です。

以上で、
とりあえずは、Smarty を使う事ができます。

デフォルトでは、 Smarty のインスタンスを生成するPHP のコードや、テンプレートファイルを Apache の htdocs ディレクトリに置くことになります。 全てのファイルをユーザーに見せてしまう危険があるわけです。 templates ディレクトリの置き場所は、 $o_Smarty->template_dir(ディレクトリ名); で変更できます。 セキュリティの観点で言えば、 PHP とテンプレート・ファイルは htdocs の外に置き、 $o_Smarty->template_dir を使って、 生成した結果の PHP コードだけを htdocs 以下に配置すると安全です。
/bonvhp/webapp/Smarty       [後へ]   [目次へ]   [次へ]