2006年02月04日

基本的な流れ

プログラムからの値を表示出来たので、流れを簡単に説明します。

マニュアルを熟読すれば、もっと効率良い使い方があるかも知れませんが、私は普段使っている内容しか書けないので、その範囲内ということで。

まず、PHPプログラムのほうですが、

index.php

<?

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

$name = "矢口真里"; (2)

$smarty = new Smarty; (3)
$smarty->clear_cache('index.html'); (4)
$smarty->assign("namae",$name); (5)
$smarty->display('index.html'); (6)
?>

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

smartyを使う上で必ず必要な宣言です。これがないとsmartyは使えません。

(2) $name = "矢口真里";

これは単に、$nameという変数に「矢口真里」という値を入れているだけです。もし、データベースを読むような処理があるならば、ここにその処理を書くことになります。

(3) $smarty = new Smarty;

smartyクラスを生成します。smartyは Smarty というクラスで提供されています。(1)のSmarty.class.phpでピンと来るものがありますが、中を見てみると、クラスの定義がしてあります。SmartyもPHPで提供されています。

(4) $smarty->clear_cache('index.html');

smartyのキャッシュをクリアします。

ハテ??
実はsmartyはキャッシュをいう機能をもっていて、表示のためのオーバーヘッドを軽減しています。ちょうど、ブラウザがキャッシュを持っているイメージと同じです。
キャッシュをクリアすることで、常に新しい内容で表示されます。

(5) $smarty->assign("namae",$name);

これがPHPのプログラムの値をテンプレートに渡すポイントです。$nameは(2)でセットした変数です。
この変数の内容を namae に出す
といった解釈になります。

(6) $smarty->display('index.html');

index.htmlというテンプレートを表示します。

で、そのindex.htmlというテンプレートですが、

templates/index.html

<html>
<head>
<title>smarty test</title>
</head>
<body>
smarty テスト!!<br>
<br>
name[{$namae}]
</body>
</html>

$namae というところに(5)で指定したPHPの$nameという値が表示されます。
テンプレートには$をつけて、{$namae}と書きます。

つまり、表示したいPHPの変数 $abc があるとしたら、

$smarty->assign("hogehoge",$abc);

として、テンプレートのほうに

{$hogehoge}

と書きます。

これを繰り返していけば、たくさんの値をテンプレートを通して表示することが出来ます。

2006年02月04日 20:27 |  3.使い方


トラックバック

このエントリーのトラックバックURL:

コメント

コメントしてください




保存しますか?