3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(PHP)Smartyインストール,使い方メモ

ひさしびりのPHPです。

Smartyを使って簡単なモバイルサイトを作ることになりました。。

ということで、今まで何回もやったけど時間経つと忘れる Smarty のインストールメモです。

まず、Smarty公式サイトからダウロード。

そして、ダウンロードしたアーカイブを解凍します。

解凍してできた、Smarty-[VerNo]\libs がテンプレートエンジンの本体です。。

これを公開用ディレクトリ(Apacheのドキュメントルート)の外に配置して、ディレクトリ名を smarty に変更。

その smarty ディレクトリに、cache , templates , templates_c ディレクトリを作成します。

(cache , templates_c はキャッシュ置き場なのでWEBサーバプロセスを動かしてるユーザの書き込み権限が必要。といってもレンタルサーバなら777にするしかないかもしれませんが。。)

基本的はこれで完了です。

テンプレート、キャッシュディレクトリは実行PHP側から指定します。

PHP

//Smarty読み込み(ドキュメントルート外のSmartyクラスにアクセス)

require_once('../smarty/Smarty.class.php');

//Smartyオブジェクト作成

$smarty = new Smarty();

//Smartyディレクトリ設定(キャッシュやテンプレート置き場など)

$smarty->template_dir = "../smarty/templates";

$smarty->compile_dir = "../smarty/templates_c";

$smarty->cache_dir ="../smarty/cache";

 

//表示データをアサイ

$smarty->assign("txtTest", "Hello world");

 

//テンプレート表示

$smarty->display("index.tpl");

Smartyテンプレート

</span></a></span>testサイト<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">

http-equiv="Content-Type" content="text/html; charset=shift_jis">

Smartyからの表示→{$txtTest}

テンプレートエンジン使うとコードでデザイン分離できるので、今の時代必須ですね。

参考

Smartyマニュアル 基本的なインストール