プログラムファイル

広告

続いてプログラム側のファイルを作成します。プログラム側ではテンプレートに渡す値を作成したり、最終的にテンプレートを呼び出して画面に表示させたりします。

プログラムは次のようになります。

<?php

require_once('Smarty.class.php');

$smarty = new Smarty();

$smarty->template_dir = 'd:/smartysample/hello/templates/';
$smarty->compile_dir  = 'd:/smartysample/hello/templates_c/';
$smarty->config_dir   = 'd:/smartysample/hello/configs/';
$smarty->cache_dir    = 'd:/smartysample/hello/cache/';

$smarty->assign('msg','Hello World!');
$smarty->display('sample.tpl');

?>

まず最初に「Smarty.class.php」を読み込んでいます。このファイルはSmartyをインストールしたディレクトリの中の「libs」ディレクトリの中に含まれています。上記ではPHPの「include_path」に「libs」ディレクトリが設定されている前提で記述しています。(「include_path」を使わない場合の方法は別のページで確認します)。

「Smarty.class.php」は「Smarty」クラスの定義などが記述されています。

続いて「Smarty」クラスのオブジェクトを作成した後でテンプレートファイルなどを配置した4つのディレクトリを絶対パスで指定しています。指定するには「Smarty」クラスで用意されている「template_dir」メソッドなどを使って指定します。

次に「assign」メソッドを使ってテンプレートファイルに記述された変数に渡す値を設定します。今回は「msg」変数に「Hello World!」と言う値を割り当てるように設定しています。

最後に「display」メソッドを使いテンプレートを呼び出して画面表示を行っています。

それでは作成したファイルを「sample.php」として保存して下さい。保存する場所は今回はApacheのドキュメントルート以下のディレクトリです。

sample.php

<?php

require_once('Smarty.class.php');

$smarty = new Smarty();

$smarty->template_dir = 'd:/smartysample/hello/templates/';
$smarty->compile_dir  = 'd:/smartysample/hello/templates_c/';
$smarty->config_dir   = 'd:/smartysample/hello/configs/';
$smarty->cache_dir    = 'd:/smartysample/hello/cache/';

$smarty->assign('msg','Hello World!');
$smarty->display('sample.tpl');

?>

プログラムファイル

( Written by Tatsuo Ikura )