|
|
Smartyとはオープンソースにて提供されているPHPで最も普及しているテンプレートエンジンです。
PHPでは手軽にHTMLの中に動的に要素を埋め込むことが可能ですが、PHPでの記述処理が複雑になればなるほどPHP
記述箇所がバラバラに分離されてしまい、収集がつかなくなる事があります。
昨今のオープン/WEB系システム構築においてJava/.NET(Visual Studio2005からは.NETというサフィックスがなくなっています)で開発
する場合、画面デザイン(HTML)とプログラミング(ビジネスロジック)は分離して開発するのが必然的な流れとなっています。
画面デザインはデザイナーがプログラミングは開発者がそれぞれの境界を分けて作成するのが開発効率もメンテナンスも格段にアップするはずです。
PHPでは、テンプレートエンジンという技術によってデザイン部分とロジック部分を分離させメンテナンスを向上させることができるようになりました。
この章ではテンプレートエンジンとして最も普及しているSmartyのインストール解説/活用方法を簡単ではありますが随時UPしていきたいと
考えております。
[Smartyのインストール]
|
|
Smartyのインストール/Smartyの動作確認 |
|
1) |
Smarty本体のダウンロード |
|
|
Smarty本家サイトよりアーカイブファイルをダウンロードします。
最新バージョンはは2.6.13となっています(2006年5月現在)。ダウンロードファイル名はSmarty-2.6.13.tar.tarとなっています。
LHAのツールでも解凍出来ます。マニュアルもこのサイトで取得出来ますが、残念ながら日本語マニュアルはありません。
ここでで2.6.6のバージョンですが日本語
マニュアルが紹介されています。
|
|
2) |
解凍後のフォルダのコピー |
|
|
ダウンロードファイルを解凍すると[Smarty-2.6.13]フォルダとその中に各モジュール
が展開されます。[Smarty-2.6.13]フォルダ名を[Smarty]にリネームしてこのフォルダ毎
PHPがセットアップされているc:\php\includesフォルダ配下にコピーして下さい。\includesフォルダ
が存在しない場合はこのフォルダ名で作成します。
|
|
3) |
php.iniファイルの確認 |
|
|
c:\windows配下にあるphp.iniをエディタで開きます。
include_pathにc:\php\includesが設定されているか確認して、なければ追加して下さい。
|
|
4) |
htmlテンプレート用格納フォルダとhtmlテンプレートコンパイル後の格納フォルダの作成 |
|
|
smartyを活用するにあたりhtmlテンプレート格納フォルダを用意しておく必要があります。
またテンプレートを用いたhtmlを最初に開いたときにsmarty側で自動でテンプレートをコンパイルします。
2度目以降にこのhtmlファイルを開こうとした場合、コンパイル済のテンプレートファイルを参照します。
コンパイル後の格納フォルダも事前に作成しておく必要があります。ここでは下記の通り2つのフォルダを作成します。
|
|
|
フォルダ名
|
内 容
|
C:\Program Files\Apache Group\Apache2\htdocs\test\templates
|
テンプレートファイルの格納
|
C:\Program Files\Apache Group\Apache2\htdocs\test\templates_c
|
コンパイル済テンプレートファイルの格納
|
|
|
Smartyの動作確認 |
|
1) |
htmlテンプレートファイルの作成 |
|
|
下記のようにhtmlテンプレートファイルをエディタで作成します。拡張子はtplで
今回はsmarty_test.tplとします。作成後に前記で作成した\templates配下に配置します。
<html>
<head>
<title>Smartyの活用</title>
</head>
<body>
下記の文字列はphpの記述処理より取得しています。<br>
↓<br>
<b>[ {$php_str} ]</b><br>
<b>[ {$php_msg1} ]</b><br>
<b>[ {$php_msg2} ]</b><br>
</body>
</html>
|
|
|
2) |
PHPで処理を記述 |
|
|
下記のようにロジックをエディタで作成します。拡張子はphpで
今回はsmarty_test.phpとします。作成後にC:\Program Files\Apache Group\Apache2\htdocs\test配下に配置します。
<?php
//Smartyモジュールの取込み
require_once("Smarty/libs/Smarty.class.php");
//Smartyクラスの生成
$tmpl = new Smarty();
//テンプレート格納フォルダの指定
$tmpl->template_dir = "templates/";
//テンプレートコンパイル後の格納フォルダの指定
$tmpl->compile_dir = "templates_c/";
//テンプレートの$php_str変数に値を代入
$tmpl->assign("php_str", "Smartyの活用!");
//テンプレートのphp_msg1と2に連想配列として値を代入
$tmpl->assign(array("php_msg1" => "連想配列の表示も出来ます!",
"php_msg2" => "正しく表示されましたか?"
)
);
//テンプレートファイルを読み込み、画面表示する
$tmpl->display("smarty_test.tpl");
?>
|
|
|
3) |
動作確認後の画面イメージ |
|
|
2)で作成したsmarty_test.phpをブラウザから直接指定すれば下記の画面が表示されます!
|
|
Copyright (C)2006 TwoNess,inc. All rights
reserved. |
|