TOP
>
書籍連動
> Moduleベースのコード
フレームワークの役割とその構築
第4回:フレームワークの役割と構築方法 〜 後編
著者:
Darryl Patterson
2006/8/15
前のページ
1
2
3
次のページ
Moduleベースのコード
このフレームワークでは、アプリケーション用のコードはすべてModules に分類されます。筆者たちが扱う対話型の動作は主にWebアプリケーション(ページベースのパンフレットウェアではない)用なので、コードをModulesにまとめておくと大きなメリットが得られます。この手法の主な利点は、モジュールがほとんどそれ自体だけで使えるところです。
このおかげで、開発者は分離されたモジュールを、それぞれの内部を変えることなく同じプロジェクトで使用できます。このようなことを実現するためには、フレームワークへの適用条件を満たさなければなりません。
すべてのモジュールはModuleスーパークラスを継承している必要があります。Module クラスは、フレームワークで動作する際に、モジュールが実装しなければならない機能をすべて含んでいます。すべてのモジュールでハンドラは少なくとも3つの関数を実装していなければならないことが決まっています。3つの関数とは、AuthenticateAction()、loadTemplate()、getHandledRequest()です。フレームワークでは、モジュールのインスタンスを作るのにもfactoryを使います。これは、フレームワーク側ではアプリケーションにどのようなモジュールがあるか知る方法がないためです。
モジュールアクションテンプレート
モジュール内の各アクションには、普通独自のテンプレートファイルがあります。少しでも開発者の手間を省くために、フレームワークでは自動的にモジュールのtplディレクトリからテンプレートファイルを見つけ、モジュール内に読み込みます。フレームワークではこれを要求されたアクションに基づいて行います。アクションがloginなら、フレームワークはlogin.tplという名前のテンプレートを読み込もうとします
もちろん、開発者はこのテンプレートをオーバーライドすることができます。ほとんどの場合、actionはWebブラウザから送られてくるものなので、その方が便利です。リスト6のloadTemplate()とgetTemplate()関数を参照してください。
リスト6
(画像をクリックすると別ウィンドウに拡大図を表示します)
前のページ
1
2
3
次のページ
書籍紹介
PHPプログラマーズマガジン
PHPプログラマーズマガジンは、PDF形式で読者の方にお届けするPHP言語(PHP: Hypertext Processor)専門誌です。 カナダMTA出版のphp|architect誌を日本語に翻訳し、独自の記事を加えて月刊でお届けしています。
発行:アシアル株式会社 価格:1,029円
ご購入はこちら
http://www.phppro.jp/magazine/
著者プロフィール
Darryl Patterson
1992年からWebプログラミングの仕事に従事している。彼はHTMLが使われはじめてから、その後Perl/CGI、Cold Fusion、ASPやPHPが使われるようになっていくWebの歴史とともに歩んできた。PHPでの開発は1998年から手がけており、今はトロントのEuro RSCG 4Dで開発チームのリーダー。また1995年からWebプログラミングをCentennial大学で教えており、そこでトロントのPHPユーザ会であるTorPUGを立ち上げた。
INDEX
第4回:フレームワークの役割と構築方法 〜 後編
リクエストハンドラ
Moduleベースのコード
単純なテンプレートエンジン -Renderers