« phpモジュール化やってみました。(第1回:概念) | メイン | phpモジュール化やってみました。(第3回:phpスクリプトの相対パス化) »

2005年12月12日

●phpモジュール化やってみました。(第2回:変更の仕方)

さて、第1回でphpモジュール化の意義とイメージができたと思います・・・多分。(^^;
なので、今回は実際にどうすればいいかを説明します。
とか言いつつ、またもや記事紹介をするのですがね。(ぇ

#参考記事(from 小粋空間)
PHPモジュール化の仕組みについて(その2:具体的動作とMTIncludeとの違い)
PHPモジュール化の仕組みについて(その3:変更方法)
※その3の記事がMovable Type Ver3.1xのままみたい? Ver3.2では下記を参考にして下さい。

1.2 カテゴリー・アーカイブ/日付アーカイブ/個別エントリーアーカイブの場合
管理メニュー『環境設定』の『設定』→『公開』クリックし、一番下のアーカイブ・マッピングを設定する。
エントリー:%y/%m/%d/%h%n%s.php
   日別:%y/%m/%d/index.php
   月別:%y/%m/index.php
カテゴリー:%y/%m/index.php

※管理メニュー『環境設定の『設定』→『公開』の補足設定
アーカイブURL  :サイトURL/archives/
アーカイブ・パス  :サイト・パス/archives/
アーカイブの拡張子:php

とりあえず上記を読んで試してみればだいたい分かってくると思います。
(おかげさまで、なんとかphpモジュール化できました。ありがとうございます。)

では、例としてテンプレート(index.html)のソースを記載しますね。

<html>
<body>
返事がない。ただの屍のようだ。
</body>
</html>

では、モジュール化をしてみましょう。
index.htmlを、index.phpmoji.htmlの2つのテンプレートに分けます。
index.phpは新しくテンプレートを作成して、index.htmlのソースをそのままコピーして、出力ファイル名を変更したものです。
それから、ソース一部に対して修正を加えます。
まずは、index.phpのソース(修正後)を記載します。

<html>
<body>
<?php readfile("moji.html"); ?>
</body>
</html>

<?php readfile("moji.html"); ?>の部分をphpスクリプトと呼ぶらしく、このような記述を加えることがphp化らしいです。

次に、moji.htmlのソースを記載します。
こちらは、index.htmlから切り離したいところをコピーするだけです。

返事がない。ただの屍のようだ。

このようにして2つのテンプレートファイルを作成すれば、モジュール化の完了です。
どうですか? これぐらい短いソースであれば、そんなに難しいことではないでしょう?
長いソースでの作業は、小さいモジュール化を繰り返し行うことになると思います。

修正作業はソースを見れば分かりますね。文字の行をphpスクリプトに置き換えただけです。
例は1行でしたが、もちろん複数行をまとめて1つのphpスクリプトに置き換えれます。
どんどん置き換えれば、index.phpの中身がスマートになって見やすく・カスタマイズしやすくなるでしょう。

なお作成したindex.phpをblog上で表示した場合ですが、moji.htmlの中身を読み込んだ状態で表示されます。
すわなち、最初のソース(index.html)と同じ状態になってくれるわけです。

さて、次回は<?php readfile("moji.html"); ?>の相対パス化について考えてみます。

最後にですが、当blogにおけるメインページ(index.php)をサンプルとして記載します。(2005年12月12日付)
phpモジュール化において、どういう風に分けて考るかの参考になればラッキーかな?(^^
見たい人は、続きを読んで下さいな。(長いソースなんでがんばって下さい。)


トラックバックURL

このエントリーのトラックバックURL:
http://neta20000.net/cgi/mt/mt-tb.cgi/4

コメントする