TOP比較データ> Mojaviのしくみ
徹底比較!! PHP & Java 〜 フレームワーク編
徹底比較!! 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を利用します。ダウンロードは下記サイトより行えます。



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を構成するコンポーネント

   Strutsほどではありませんが、Mojaviも多くのコンポーネントから構成されています。その中でも主なものを取り上げて、以下に解説します。


index.php

   Mojaviを利用したWebアプリケーションでは、このindex.phpがすべてのリクエストを受け付ける窓口となります。index.phpは、リクエストを受け付けると通常はFrontWebControllerを呼び出します。


FrontWebController

   FrontWebControllerは、フィルタ機能を実現するコントローラです。FrontWebControllerでは、リクエストを下記のように処理します。

  1. リクエストに応じて適切なActionを取得します
  2. ActionStackに取得したActionを格納します
  3. FilterChainを取得します
  4. 取得したFilterChainにFilterを格納します
  5. ExecutionFilterを取得します
  6. FilterChainに取得したExecutionFilterを格納します
  7. FilterChainに格納されているFilterとExecutionFilterを実行します


ExecutionFilter

   ExecutionFilterは、各コンポーネントの連携処理を行うためのコントローラです。ExecutionFilterでは、リクエストを下記のように処理します。

  1. HTTPメソッドのチェックを行います(注)
    1. HTTPメソッドのチェックがtrueの場合、(2)へ
    2. HTTPメソッドのチェックがfalseの場合、ActionのgetDefaultView()メソッドを実行します
  2. リクエストパラメータのチェックを実施します
    1. リクエストパラメータのチェックが成功した場合、Actionのexecute()メソッドを実行します
    2. リクエストパラメータのチェックが失敗した場合、ActionのhandleError()メソッドを実行します
  3. 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の基本構造と動作の流れ