dari88's diary

これから趣味にするプログラミング/PHP/javascript/kohana/CMS/web design/

PHPでSmarty・・・ページのデザインとロジックを分離する?

今日もNetBeansにて「PHP逆引きレシピ」のサンプルコードを教材にPHPの勉強を進めています。

さて次のお題は第5章5.2「Smartyの使い方」です。Smartyを使うとPHPのロジック部分とHTMLのデザイン部分を分離して開発管理できるということです。ロジックとデザインを混在してPHPに書いちゃうとそのうちわけ分からない状態になるということなんでしょう。で、そのお勉強なんですけど、ここでも少々事前準備が必要です。

<事前準備>
SmartyのサイトからSmartyをダウンロードして、解凍する。
・解凍して出来た libs フォルダの名前を smarty に変える。
smarty フォルダの中に templates_c というフォルダを作る。
smarty フォルダを xampp/ の下に配置する。
・htdocs/php-recipe/05/02/ の下に templates_c というフォルダを作る。

さて例題は 01.php ですけど、パスを設定している部分を次のように書き換えます。

$path = '/../../smarty/';
$smarty->template_dir =  'templates';
$smarty->compile_dir = 'templates_c';

 これで実行すると 01.php には HTML の記述が何も無いのに、ブラウザに表示されます。この例題では templates フォルダにある smarty.tpl というテンプレートを使って Smarty がブラウザに出力したってことですね。例題が7つほどあるのでひと通りやってみると Smarty でどんなことが出来るのか見当がつきます。

xoops でも Smarty を採用しているようなので、モジュール開発をやるとなると Smarty の勉強もせねばなりません。プログラミングの世界って奥が深いです。勉強していくと勉強せねばならないことがどんどん増えちゃいます。アマゾンのジャングルの如しでしょうか・・・ブラジルのですけど。