TOP書籍連動> どこから手をつけるか
フレームワークの役割とその構築
フレームワークの役割とその構築

第2回:フレームワークの役割と構築方法 〜 前編

著者:Darryl Patterson   2006/7/31
前のページ  1  2
どこから手をつけるか

   どのような機能が必要なのか高次元のレベルで理解したので、実際に構築していきましょう。フレームワークのデザインと聞くと気が遠くなるような感じがするかもしれません。実際その通りです。幸い筆者は、フレームワーク作りに活かせる経験をもっていました。Gaiaで学び、中でも、主にXSLTテンプレートエンジンについて思い返しました。

   テンプレートエンジンのこととなると、筆者は少々潔癖なところがあります。開発者がビジネスロジック(条件分岐など)をHTMLに埋め込めるようなテンプレートエンジンは嫌いです。

   また、単純で覚えやすいものが必要でした。オリジナルのテンプレートハンドラを書くこともできましたが、公開されている様々なテンプレートを検討した結果、HTML_Template_ITを利用することにしました。これは、とても単純で、PEARパッケージに組み込まれています。つまり、誰にでも使え、簡単にインストールすることができます。

   筆者はフロントコントローラ、リクエストハンドラ、モジュールコード、単純なテンプレートエンジン、言語ラベル(英語とフランス語を扱うため)、単純なデータアクセス層を使う基本的なフレームワークを作りました。続いてこのような機能を一つずつ個別に作っていき、それぞれをどうフレームワークで実装するか考えました。

   しかしその前に、フレームワークが使用する2つのクラス、ConfigとEnvironmentを作る必要がありました。次に、ディレクトリ構造とWebアプリケーションでフレームワークを使うのに必要なApacheの設定を説明していきます。

アプリケーションのディレクトリ構造

   アプリケーションのルートは、大抵ドキュメントルートのディレクトリになります。フレームワークではアプリケーションのルート内に2つのディレクトリが必要となります。html(ドキュメントルート)とinclude(すべてのアプリケーションで使うインクルードファイルを置く場所)です。インクルードファイルに誰でも直接アクセスできないように、2つに分けました。

   フレームワークでは、includeディレクトリ内でも特定のディレクトリ構造が必要となります。この例を図1に示します。

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

前のページ  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
第2回:フレームワークの役割と構築方法 〜 前編
  フレームワークの役割
どこから手をつけるか