TOP
>
比較データ
> Mojaviのしくみ
徹底比較!! PHP & Java 〜 フレームワーク編
第2回:StrutsとMojaviのしくみを見てみよう
著者:
ワイズノット 土橋 芳孝
2005/7/21
前のページ
1
2
3
4
次のページ
Mojaviのしくみ
次にPHPによるWebアプリケーション開発において、最近急激に注目を集めているWebアプリケーション・フレームワークであるMojaviのしくみを見ていきましょう。本連載では下記のソフトウェア構成を前提としてMojaviを検証していきます。
PHP 5.0.4
PHPはオープンソースの開発言語です。習得の容易さと高い開発生産性が特徴で、主にWebアプリケーションの開発を目的としています。本連載では現在の最新バージョンであるPHP 5.0.4を利用します。ダウンロードは下記サイトより行えます。
PHP Downloads
http://www.php.net/downloads.php
Apache HTTP Server 2.0.54
Apache HTTP ServerはApache Software Foundationより提供されているオープンソースのHTTPサーバ(Webサーバとも呼ばれます)です。本連載では現在の最新バージョンであるApache HTTP Server 2.0.54を利用します。ダウンロードは下記サイトより行えます。
Downloading the Apache HTTP Server
http://httpd.apache.org/download.cgi
Mojavi 3.0.0
MojaviはオープンソースのWebアプリケーション・フレームワークです。本連載ではPHP5のオブジェクト指向に対応しているMojavi3.0.0(現在は開発バージョン)を先取りします。ダウンロードは下記サイトより行えます。
Mojavi Project
http://www.mojavi.org/index.php/module/Default/action/Static/page/
downloads.php
Mojaviを構成するコンポーネント
Strutsほどではありませんが、Mojaviも多くのコンポーネントから構成されています。その中でも主なものを取り上げて、以下に解説します。
index.php
Mojaviを利用したWebアプリケーションでは、このindex.phpがすべてのリクエストを受け付ける窓口となります。index.phpは、リクエストを受け付けると通常はFrontWebControllerを呼び出します。
FrontWebController
FrontWebControllerは、フィルタ機能を実現するコントローラです。FrontWebControllerでは、リクエストを下記のように処理します。
リクエストに応じて適切なActionを取得します
ActionStackに取得したActionを格納します
FilterChainを取得します
取得したFilterChainにFilterを格納します
ExecutionFilterを取得します
FilterChainに取得したExecutionFilterを格納します
FilterChainに格納されているFilterとExecutionFilterを実行します
ExecutionFilter
ExecutionFilterは、各コンポーネントの連携処理を行うためのコントローラです。ExecutionFilterでは、リクエストを下記のように処理します。
HTTPメソッドのチェックを行います(注)
HTTPメソッドのチェックがtrueの場合、(2)へ
HTTPメソッドのチェックがfalseの場合、ActionのgetDefaultView()メソッドを実行します
リクエストパラメータのチェックを実施します
リクエストパラメータのチェックが成功した場合、Actionのexecute()メソッドを実行します
リクエストパラメータのチェックが失敗した場合、ActionのhandleError()メソッドを実行します
Actionの実行結果により、適切なViewを実行します
※注:
通常、HTTPメソッドがGETでもPOSTでもHTTPメソッドのチェックはtrueを返しますが、たとえばHTTPメソッドがGETのときはActionのgetDefaultView()メソッドを実行したいといったこともあるかと思います。その場合、ActionのサブクラスでgetRequestMethods()メソッドをオーバーライドすることで、HTTPメソッドがGETの場合はActionのgetDefaultView()メソッドを実行するといったことが可能になります。
Action
Actionはビジネスロジックの呼び出しを行い、その実行結果をExecutionFilterに返す役割を持っています。開発者はActionのサブクラスを作成する必要があります。
View
Viewは、画面に表示すべき適切なテンプレートを選択する役割を持っています。開発者はViewのサブクラスを作成する必要があります。
テンプレート
テンプレートには画面に表示すべきHTMLが記述されています。開発者はテンプレートを作成する必要があります。
Mojavi設定ファイル
Mojavi設定ファイルは、Mojaviを利用したWebアプリケーションの設定を行うためのファイルです。開発者は必要に応じてMojavi設定ファイルを修正する必要があります。
前のページ
1
2
3
4
次のページ
著者プロフィール
株式会社ワイズノット 土橋 芳孝
以前はJavaを利用したWebアプリケーション開発とオブジェクト指向設計を得意としていたが、ワイズノットに入社以来、PHPの魅力にとりつかれる。現在はワイズノットのプロジェクトマネージャーとして、PHPをはじめとしたオープンソースの普及に力を注いでいる。
INDEX
第2回:StrutsとMojaviのしくみを見てみよう
Strutsのしくみ
Strutsを構成するコンポーネント
Mojaviのしくみ
Mojaviの基本構造と動作の流れ