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」があります。

この二つのディレクトリは読み書きができないといけないのでアクセス権を

設定しておく事が必要です!!