ちょっと前にPHPの勉強がてら商品リストページを作ってみたんだけど、PHPは自由度が高いがゆえにHTMLとPHPコードが混在して見難くなってしまうんだよね。そこで、前から気になっていたSmartyを導入。
smartyっていうのはテンプレートエンジンというもので、単なるPHPのクラスファイルです。なので、レンタルサーバーであろうとPHPが使える環境であれば誰でも使えます(多分)。
smartyを使えば、ロジックとデザインの分離が可能。HTMLとPHPコードが基本的には別ファイルになるので、デザイナーとプログラマーが平行して作業できます。
使い方も簡単(フルに機能を使おうとすれば難しくなるかもしれないけど)で、$Smarty->assign()と$Smarty->display()の使い方が分かれば十分にsmartyの恩恵を受けられます。
$Smarty->assign()は(X)HTMLテンプレートに組み込む変数を設定するメソッドです。
$Smarty->display()は$Smarty->assign()で設定した内容を反映させるHTMLテンプレートを設定するメソッドです。
と、ぐたぐたと説明するよりサンプルを見てもらった方が解りやすいと思うので、簡単なソースを紹介。
/* PHPコード(test.php) ---------------------------------------- */
require_once("Smarty.class.php");
$mySmarty=new Smarty();
$mySmarty->assign("test","smartyテスト"); //param1=変数名、param2=値
$mySmarty->display("test.tpl");
/* HTMLテンプレート(test.tpl) -------------------------------- */
<body>
<p>{$test}</p> //$mySmarty->assign()で設定した変数名
</body>
/* 出力結果------------------------------------------------- */
smartyテスト //$mySmarty->assign()で設定した値が表示されます
実際に実行するファイルはtest.phpです。test.tplはtest.phpから呼び出されます。簡単ですよね。皆さんもsmarty導入してみてはいかがでしょうか?
Smarty入門~PHP5+テンプレート・エンジンでつくるMVCアプリケーション~
この本結構オススメ。smarty導入してみたいけど敷居が高そうって思っているにいいかも。
ちなみに、私が使用しているロリポップサーバーではデフォルトでsmartyがインストールされているので、サンプルソースのように指定してやれば、smartyクラスが使えます。



コメント(0)
twitterでつぶやく
コメントが存在しません。