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へのリンクはあえて記しませんが
Smartyで
Google先生に聞けばすぐ出てきます。
 お使いののPHPのバージョンに合った
Smartyをダウンロードしたら、
Smartyのlibs(解凍したディレクトリ内にあります)を、以下のディレクトリ階層の
Smarty/libsにコピーします。
 GitHubから取得した状態ですと
cache、config、templates_cのディレクトリがありませんので、各自作成してください。
    - Smarty
    
        - cache
 
        - config
 
        - libs
 
        - templates
 
        - templates_c
 
    
     sources- 
    
 
 そして
Smartyディレクトリごとアップロードすればいいのですが、アップロード後に
cacheとtemplates_cのパーミッションに
その他による書き込み許可を与えてください。そうしないと
Smartyが動きません。
 これで
Sartyのセットアップは完了です。
Smarty版のメンバー一覧にアクセス
 Smartyのアップロードが完了したらメインメニューから
メンバー管理(Smarty版)にアクセスします。
 前章で紹介した内容とほとんど同じです(タイトルにSmarty版が入ってます)。詳細画面でメンバーの追加、更新ができ、一覧ページで削除ができます。
 
図0200a
 
Smarty版のメンバー詳細にアクセス
 新規で以下の画面が出ます。一覧ページ同様
Smarty版となってます。
 
図0200b