9) テンプレートエンジン-変数を表示する

前回は変数を表示するサンプルを作成しました。今回は、変数をSmartyで表示する方法を解説します。
インターネットリサーチ・コンサルティング・企画、ウェブ翻訳から、Web制作、システム開発までオープンソース・ネットワークビジネスを提供

前回のソースコード(index.php)を振り返ってみます。(3)で「JFE-TEC」という文字列をassignメソッドでTemplate側に受け渡しています。Templateでは「{$str}」で参照できます。

<?php
require_once(‘Smarty.class.php');  ---(1)
$smarty = new Smarty;        ---(2)
$smarty->assign('str', 'JFE-TEC'); ---(3)
$smarty->display('index.tpl');     ---(4)
?>


このassainメソッドの第2引数に、変数を指定することができます。では、index.phpとindex.tplを変数に対応させて見ましょう。

index.phpファイルの内容は以下になります。

<?php
require_once(‘Smarty.class.php'); ---(1)
$smarty = new Smarty;       ---(2)
$today = date(‘Y/m/d’);      ---(3)
$smarty->assign('str', $today);   ---(4)
$smarty->display('index.tpl');    ---(5)
?>

(1):Smartyクラスを読み込みます
(2):インスタンスを生成します
(3):今日の日付を取得します
(4):$today変数を割当てます
(5):テンプレートファイル「index.tpl」を読み込みます。

index.tplファイルの内容は以下になります。

<html>
<head>
<title>Smarty サンプル</title>
</head>
<body>
今日は {$str} です。   ---(1)
</body>
</html>

(1):変数はHTML内に{}で囲んで埋め込みます。

ブラウザでアクセスすると「今日は 年/月/日 です。」と表示されます。

assignメソッドは、文字列以外にも変数や配列、オブジェクトまでも受け渡すことが可能です。

関連キーワード
PHP、Smarty、Webアプリケーション、開発効率、プログラミング、テンプレートエンジン

コメントをお待ちしています

お名前:

メールアドレス:

コメント:

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

http://it.jfe-tec.jp/mt/mt-tb.cgi/87