Home » コンテンツ » WEB環境構築 » Smarty の導入
ここ2年ほどは、ほとんどこのSmartyというテンプレートエンジンを用いたシステム開発を行っています。最大の魅力はPHPで書くロジックの部分とHTML&CSSで表現するデザインの部分が分離して表現できるというポイントがあげられます。また、Smartyにはキャッシュ機能があるので、比較的アクセスが多いサイトでもPHPやSQLの処理を毎回行なわなくても良いページの場合には、表示速度のアップ、サーバーの負荷軽減にも、Smarty導入は、効果を発揮します。
webデザインのHTMLは、Smartyのテンプレートファイルに分離して作成しますが、HTMLの記述にSmartyテンプレートタグ {} を記入してデータを記述するので、データを配列などでphpからテンプレートファイルに渡してテーブルタグの中をループでまわして一覧表の作成など非常に威力を発揮します。
Smartyは導入も簡単で、日本語マニュアルもオンラインで閲覧できます。
<?php
//キャッシュidはファイル名毎
$my_cache_id = $acss_file;
// Smartyライブラリを読み込む
//define('SMARTY_DIR', '/home/guestbook/Smarty/libs/');
require(SMARTY_DIR . 'Smarty.class.php');
// setup.phpはアプリケーションに必要なライブラリファイルを
// 読み込むのに適した場所です。例:
// require('guestbook/guestbook.lib.php');
class Smarty_guestbook extends Smarty {
function Smarty_guestbook()
{
// クラスのコンストラクタ。これらは新しいインスタンスで自動的にセットされます。
$this->Smarty();
$this->template_dir = '/home/guestbook/public_html/s_template/';
$this->compile_dir = '/home/guestbook/Smarty_tpl/templates_c/';
$this->config_dir = '/home/guestbook/Smarty_tpl/configs/';
$this->cache_dir = '/home/guestbook/Smarty_tpl/cache/';
}
}
?>
このファイルをSmartyを利用する、PHPファイルの先頭でrequierすれば、それぞれの環境を意識しないでプログラムをコーディングることができます。