TOP書籍連動> 単純なデータアクセス層:データオブジェクト
フレームワークの役割とその構築
フレームワークの役割とその構築

第5回:モジュールの作成

著者:Darryl Patterson   2006/8/21
1   2  次のページ
単純なデータアクセス層:データオブジェクト

   今回はフレームワークの役割と構築について前回までで紹介しきれなかった部分を解説した上で、フレームワーク全体がどう動作しているかを説明します。

   「簡単に使い方を覚えられる」という条件を満たすために、データオブジェクトを使って素早く動作するようにカスタマイズしたデータアクセス層を採用しました。他のオプションも検討しましたが、広告会社の開発環境で使うには複雑過ぎるという結論に達しました。

   データオブジェクトがどのようなふうに動作するのか詳しく見ていく余裕はありませんが、フレームワークで使用しているデータオブジェクトのスーパークラスをお見せします。

   データベースの全テーブルには、フレームワークのデータオブジェクトスーパークラスを継承した各データオブジェクトクラスが対応します。リスト8と9を見てください。指定したデータベースのデータオブジェクトをすべて生成するスクリプトもあります。これで時間を大幅に節約できます。

リスト8
リスト8
(画像をクリックすると別ウィンドウに拡大図を表示します)


すべてをつなぐ

   フレームワークの各層を見てきたので、全体がどう動作しているのか見てみましょう。図1のUMLシーケンス図を見ると、リクエストがフレームワークの様々な層をどう流れていくのかわかります。

UMLシーケンス図
図1:UMLシーケンス図(再掲)
(画像をクリックすると別ウィンドウに拡大図を表示します)

   すべてはWebブラウザがWeb サーバにリクエストを送るところからはじまります。フロントコントローラがリクエストを受け取り、getHandledRequest()メソッドを呼び出すことでハンドラに渡されます。ハンドラはリクエストが正しいものかチェックし、要求されたモジュールを作り、アクションテンプレートを読み込み、モジュールに要求されたアクションを送ります。

   モジュールは言語ラベルを読み込み、関連したアクションの関数を呼び出します。アクションはアクションテンプレートに従って実行されていきます。モジュールのgetHandledRequest()関数がHTMLの一部をハンドラに返し(アクションテンプレートで実行される)、それが続いてコントローラに返されます。最後に、コントローラがレンダラを作り、ハンドラが返したHTMLの一部にコンテンツを埋め込みます。その結果がWebブラウザに送り返されます。

   ここまで動作の仕組みを一通り見てきました。次は、簡単なモジュールを書いてこのフレームワークを実際に使ってみましょう。

1   2  次のページ

PHPプログラマーズマガジン 書籍紹介
PHPプログラマーズマガジン

PHPプログラマーズマガジンは、PDF形式で読者の方にお届けするPHP言語(PHP: Hypertext Processor)専門誌です。 カナダMTA出版のphp|architect誌を日本語に翻訳し、独自の記事を加えて月刊でお届けしています。

発行:アシアル株式会社  価格:1,029円

 ご購入はこちら
http://www.phppro.jp/magazine/
Darryl Patterson
著者プロフィール
Darryl Patterson
1992年からWebプログラミングの仕事に従事している。彼はHTMLが使われはじめてから、その後Perl/CGI、Cold Fusion、ASPやPHPが使われるようになっていくWebの歴史とともに歩んできた。PHPでの開発は1998年から手がけており、今はトロントのEuro RSCG 4Dで開発チームのリーダー。また1995年からWebプログラミングをCentennial大学で教えており、そこでトロントのPHPユーザ会であるTorPUGを立ち上げた。


INDEX
第5回:モジュールの作成
単純なデータアクセス層:データオブジェクト
  モジュールの作成