200.サンプル概要とSmartyについて

 この章で説明するサンプルは前章の住所録Smarty版です。
 SmartyというのはPHPのテンプレートエンジンで、古くから使われていて安定した動作するテンプレートライブラリです。
 PHPはプログラムとHTMLを同じファイル(PHPファイル)に記述することができ、また、PHPブロックとHTMLを交互に記述できるなど、柔軟な言語なのですが、反面、ソースとHTMLが混同してしまいがちです。可読性も失われます。
 そのためPHPの技術者はPHPとHTMLを分けて記述するという習慣になることが多いです。前章でのサンプルも実行ブロック、関数ブロック、HTMLブロックなど、分けて記述してます。
 しかし、そういったブロック分けも限界があり、例えばプログラマとデザイナが同じ空間にいない現場では(よくある話です)、複数の人が同じPHPファイルを修正することも多々あり、それが不具合や先祖返りを生み出すことになってしまいます。
 またデザイナーさんは極力PHPファイルは触りたがらないものです。
 そのため、プログラム部とデザイン部を分けて記述するテンプレートエンジンは、PHPの開発でなくてはならないものとなっています。

 テンプレートエンジンといいましても、多数存在し、フレームワークにくっついているものもあります。
 ここではその中でも老舗であるSmartyによる記述を紹介します。
 まあ。新しもの好きの方には不満かもしれませんが、簡単に使えて動作速度も速いので、僕は長年愛用しています(新しい文法覚えるのも結構つらいしね)。

Smartyのセットアップ

 このPHPBaseにはSmarty本体はついていません。理由は、最新のものを使用したほうがいいでしょうし、またSmartyには、現在2つのバージョンがあって、PHPのバージョンによって別のものを使用する必要があります。
 Smartyへのリンクはあえて記しませんがSmartyGoogle先生に聞けばすぐ出てきます。
 お使いののPHPのバージョンに合ったSmartyをダウンロードしたら、Smartyのlibs(解凍したディレクトリ内にあります)を、以下のディレクトリ階層のSmarty/libsにコピーします。
 GitHubから取得した状態ですとcache、config、templates_cのディレクトリがありませんので、各自作成してください。  そしてSmartyディレクトリごとアップロードすればいいのですが、アップロード後にcacheとtemplates_cのパーミッションにその他による書き込み許可を与えてください。そうしないとSmartyが動きません。
 これでSartyのセットアップは完了です。

Smarty版のメンバー一覧にアクセス

 Smartyのアップロードが完了したらメインメニューからメンバー管理(Smarty版)にアクセスします。
 前章で紹介した内容とほとんど同じです(タイトルにSmarty版が入ってます)。詳細画面でメンバーの追加、更新ができ、一覧ページで削除ができます。

 

図0200a

 

Smarty版のメンバー詳細にアクセス

 新規で以下の画面が出ます。一覧ページ同様Smarty版となってます。

 

図0200b