CGI/PHP で掲示板を使ってみよう
デザイナーは WEB を「アート」として扱い、プログラマは「 HTML というタグでできたファイル」ととらえているようです。
このため、デザインとプログラムの完全分離・効率化のために「テンプレート」を使った 方法が主流となっています。
具体的な例を示すために、「 Perl5/CGI 」と「 PHP 」で簡単な「掲示板」を作ってみました。
- 「 Perl 」のインストール方法
- 「 PHP 」のインストール方法
- 「 Apache 」のインストール方法
- 実際に作ってみよう(Perl5、 PHP 編)
- 「掲示板」を作ってみよう(Perl5、 PHP 編)
- 「 CGI 」の転送後の設置方法
(1)「 Perl 5/CGI 」での「掲示板」作成
サンプルは次のようになります。
ソースはこちら ※ 但し「返信」「削除」機能はありません。
<プログラム部分>
- sample2.cgi(メインCGI)※拡張子を「cgi」にして保存してください。
- pl_kyo.pl(定義ファイル)
利用方法は、以上のファイルを同じディレクトリ内に保存して、「sample.cgi」を実行します(ただしパス定義を変更する必要があります)。
(2)「 PHP 」での「掲示板」作成
サンプルは次のようになります。
ソースはこちら ※ 但し「返信」機能はありません。
<プログラム部分>
- sample.php(メインPHP)※拡張子を「php」にして保存してください。
- decode.inc(定義ファイル)
<デザイン部分>
- main.mdl(メインHTML)
- list_sub.mdl(リスト部分)
- error.mdl(エラーページ)
利用方法は、以上のファイルを同じディレクトリ内に保存して、「sample.php」を実行します。
ここで、「 PHP 」で作成した掲示板にはプログラム中に「 HTML タグ」が全く記述されていません。つまり
「 HTML と完全に独立」
した状態のソースコードとなっています(CGI は表示時間が遅くなりすぎて難しいと思います)。
この長所としては、
- PHP を知らなくても、HTML を変更することで全く別のデザインに変更できる(再利用性が向上)
- デザイナーとプログラマーの独立したシステム開発が可能
- ソースの簡略化
などが挙げられます。
テンプレートを使うため、表示時間が遅くなるとか、コードが少し追加になるとかいう意見も出てくると思います。
しかし、開発効率の利点、その後の運用での利点等を考えると、表示部分は、別ファイルにするというのは、もう常識的な手法です。この形式の場合、開発手順は以下のようになります。
- デザイナーが、大まかにレイアウトと要素をすべていれた状態の HTML 作成
- プログラマが、テンプレート用にコードを入れ込み、テスト用ファイルとして使ってコーディングを開始
- デザイナーはプログラマから帰って来たテンプレートを使って細部を仕上げる
- 動作確認
できるだけ、後のメンテナンスを他人ができるようなシステムを考えてプログラムをすると、お客さんもデザイナーもまた一緒にやりたいと思うのではないでしょうか?
オススメ書籍
HTML5、CSS3、JavaScript等の学習に役立つ書籍を紹介します。