カテゴリー

最新の記事

最近のコメント

最近のトラックバック

月別アーカイブ

ブログ検索

RSSフィード

ブロとも申請フォーム

この人とブロともになる

スポンサーサイト

スポンサー広告
--.--.--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ベンチャーブログのランキングに参加しています。
下のバナーをクリックして応援していただけると嬉しいです。
にほんブログ村 ベンチャーブログへ

PHPフレームワークもどき「PnF」(9)~サンプルコード、画面全体の構成

PHP
2008.11.24
最後に画面全体の構成をコードに落としていきましょう。まず前半部分です。

コード9-1

5~6行目
アプリケーション全体の設定ファイルと、PnFのメインプロシジャのファイルをインクルードしています。

9~11行目
この画面の名前(コントロール名)を設定しています。この設定はPnFの内部処理に使用するものです。

14~28行目
この画面で使用するVCを宣言しています。「ItemBox」が宣言されていないことに注意してください。別のVCの子VCとして生成されるVCは、ここで宣言する必要はありません。

31行目
PnFのメインプロシジャを呼び出しています。

なお前半部分でページ毎に記述が変わるのは、14~28行目の「使用するVCの宣言」の部分だけです。他のコード記述は固定です。

次に後半部分です。

コード9-2

HTMLテンプレートの記述です。画面全体のHTMLテンプレートも、PHPの関数として記述します。47~56行目はヘッダ部分、58~72行目がボディ部分です。ボディ部分に${vc[VC名]}という記述が埋め込まれています。$vcはこのHTMLテンプレートがPnFコアから呼び出される時に引き渡される引数であり、ここに使用するすべてのVCのHTML記述が連想配列として格納されているのです。

なお「config.php」の内容と、CSSファイルの内容は以下の通りです。

config.php
コード9-3

CSSファイル(style.css)
コード9-4

以上でサンプルアプリケーションのコード解説を終わります。簡単なものでしたが、PnFを使ったコーディングの概要がご理解いただけたのではないかと思います。

コード量は決して大幅に減るわけではないのですが、画面全体、各VC、各VPの独立性が極めて高く、簡単に分離・結合できる点が最大のメリットです。そのため複雑な画面構成を持つアプリケーションでも、適当な要素に分割して開発生産性を高めることができ、特定要素の修正が他の部分に与える影響も最小化できます。もちろんいったん作成したVCやVPは、簡単に再利用できます。イベント名と引き渡されるイベントパラメーターの整合性さえ取れていれば、画面全体構成のコードに追加するだけでいいからです。

ただし最初に指摘したとおり、まだ十分に練れていない部分もかなりあります。例えばGET変数をVCで処理するのが適切なのか、まだ十分に検討されていません。他にも検討の余地が残っている部分があります。

ここまでの内容に対してそれなりの反応があれば、さらに詳細な説明を行い、PnF内部のコードの公開も検討したいと思っています。もし芳しい反応がなければ、公開作業は中断します。質問や意見などがございましたら、各エントリーのコメントの形で投げてください。それではよろしくお願いします。
スポンサーサイト

ベンチャーブログのランキングに参加しています。
下のバナーをクリックして応援していただけると嬉しいです。
にほんブログ村 ベンチャーブログへ

FC2Ad

相続 会社設立

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。