Smartyとは
「テンプレートライブラリを使用してPHPとHTMLを分離して記述する方法」
のようです
Smartyのライブラリは以下からダウンロードしました
http://www.smarty.net/download.php
※ちなみにバージョンはSmarty 2.6.26 です。
PHPの利点としては簡易なスクリプトならHTML内に記述することが出来ることですが、
ある程度の規模になると可読性が低下し、メンテナンスが大変になります
そこでHTMLを記述したテンプレートにPHPの出力を埋め込んで表示させるような、
機能を分離して開発するためのクラスライブラリとしてSmartyの登場です
■ビジュアル担当テンプレート(.tpl)
→HTMLで記述さらにデザイン部分はCSSを使用
■制御担当(.php)
→PHPで記述してテンプレートに出力を渡す
以下は使用例
--------------------------------------------------------------------------------------
<制御PHP側>
<?php
include('Smarty.class.php');
$smarty = new Smarty();
$smarty->assign("pagetitle","テストタイトル");
$smarty->display("list.tpl");
?>
<テンプレート側(list.tpl)>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.otd
">
<html xmlns="http://www.w3.org/1999/xhtml
">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script language="JavaScript" type="text/JavaScript" src="java/4test.js"></script>
<title>{$pagetitle}</title>
</head>
<body>
<h1>{$pagetitle}</h1>
</body>
</html>
このように記述することでlist.tplに記述されたHTMLにPHPの出力({$pagetitle})をh1として
表示することができます
※Smartyが使用するディレクトリとして「cache」と「templates_c」があります。
この二つのディレクトリは読み書きができないといけないのでアクセス権を
設定しておく事が必要です