|
||||||||||||
| 1 2 次のページ | ||||||||||||
| 単純なデータアクセス層:データオブジェクト | ||||||||||||
|
今回はフレームワークの役割と構築について前回までで紹介しきれなかった部分を解説した上で、フレームワーク全体がどう動作しているかを説明します。 「簡単に使い方を覚えられる」という条件を満たすために、データオブジェクトを使って素早く動作するようにカスタマイズしたデータアクセス層を採用しました。他のオプションも検討しましたが、広告会社の開発環境で使うには複雑過ぎるという結論に達しました。 データオブジェクトがどのようなふうに動作するのか詳しく見ていく余裕はありませんが、フレームワークで使用しているデータオブジェクトのスーパークラスをお見せします。 データベースの全テーブルには、フレームワークのデータオブジェクトスーパークラスを継承した各データオブジェクトクラスが対応します。リスト8と9を見てください。指定したデータベースのデータオブジェクトをすべて生成するスクリプトもあります。これで時間を大幅に節約できます。 リスト8 |
||||||||||||
| すべてをつなぐ | ||||||||||||
|
フレームワークの各層を見てきたので、全体がどう動作しているのか見てみましょう。図1のUMLシーケンス図を見ると、リクエストがフレームワークの様々な層をどう流れていくのかわかります。 すべてはWebブラウザがWeb サーバにリクエストを送るところからはじまります。フロントコントローラがリクエストを受け取り、getHandledRequest()メソッドを呼び出すことでハンドラに渡されます。ハンドラはリクエストが正しいものかチェックし、要求されたモジュールを作り、アクションテンプレートを読み込み、モジュールに要求されたアクションを送ります。 モジュールは言語ラベルを読み込み、関連したアクションの関数を呼び出します。アクションはアクションテンプレートに従って実行されていきます。モジュールのgetHandledRequest()関数がHTMLの一部をハンドラに返し(アクションテンプレートで実行される)、それが続いてコントローラに返されます。最後に、コントローラがレンダラを作り、ハンドラが返したHTMLの一部にコンテンツを埋め込みます。その結果がWebブラウザに送り返されます。 ここまで動作の仕組みを一通り見てきました。次は、簡単なモジュールを書いてこのフレームワークを実際に使ってみましょう。 |
||||||||||||
| 1 2 次のページ | ||||||||||||
書籍紹介PHPプログラマーズマガジン PHPプログラマーズマガジンは、PDF形式で読者の方にお届けするPHP言語(PHP: Hypertext Processor)専門誌です。 カナダMTA出版のphp|architect誌を日本語に翻訳し、独自の記事を加えて月刊でお届けしています。 発行:アシアル株式会社 価格:1,029円 |
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||




