次のページMojaviのしくみ次にPHPによるWebアプリケーション開発において、最近急激に注目を集めているWebアプリケーション・フレームワークであるMojaviのしくみを見ていきましょう。本連載では下記のソフトウェア構成を前提としてMojaviを検証していきます。5.0.4PHPはオープンソースの開発言語です。習得の容易さと高い開発生産性が特徴で、主にWebアプリケーションの開発を目的としています。5.0.4を利用します。ダウンロードは下記サイトより行えます。Foundationより提供されているオープンソースのHTTPサーバ(Webサーバとも呼ばれます)です。2.0.54を利用します。ダウンロードは下記サイトより行えます。3.0.0MojaviはオープンソースのWebアプリケーション・フレームワークです。本連載ではPHP5のオブジェクト指向に対応しているMojavi3.0.0(現在は開発バージョン)を先取りします。ダウンロードは下記サイトより行えます。Projecthttp://www.mojavi.org/index.php/module/Default/action/Static/page/downloads.phpMojaviを構成するコンポーネントStrutsほどではありませんが、Mojaviも多くのコンポーネントから構成されています。その中でも主なものを取り上げて、以下に解説します。index.phpMojaviを利用したWebアプリケーションでは、このindex.phpがすべてのリクエストを受け付ける窓口となります。index.phpは、リクエストを受け付けると通常はFrontWebControllerを呼び出します。FrontWebControllerFrontWebControllerは、フィルタ機能を実現するコントローラです。FrontWebControllerでは、リクエストを下記のように処理します。リクエストに応じて適切なActionを取得しますActionStackに取得したActionを格納しますFilterChainを取得します取得したFilterChainにFilterを格納しますExecutionFilterを取得しますFilterChainに取得したExecutionFilterを格納しますFilterChainに格納されているFilterとExecutionFilterを実行しますExecutionFilterExecutionFilterは、各コンポーネントの連携処理を行うためのコントローラです。ExecutionFilterでは、リクエストを下記のように処理します。通常、HTTPメソッドがGETでもPOSTでもHTTPメソッドのチェックはtrueを返しますが、たとえばHTTPメソッドがGETのときはActionのgetDefaultView()メソッドを実行したいといったこともあるかと思います。その場合、ActionのサブクラスでgetRequestMethods()メソッドをオーバーライドすることで、HTTPメソッドがGETの場合はActionのgetDefaultView()メソッドを実行するといったことが可能になります。ActionActionはビジネスロジックの呼び出しを行い、その実行結果をExecutionFilterに返す役割を持っています。開発者はActionのサブクラスを作成する必要があります。ViewViewは、画面に表示すべき適切なテンプレートを選択する役割を持っています。開発者はViewのサブクラスを作成する必要があります。テンプレートテンプレートには画面に表示すべきHTMLが記述されています。開発者はテンプレートを作成する必要があります。Mojavi設定ファイルMojavi設定ファイルは、Mojaviを利用したWebアプリケーションの設定を行うためのファイルです。開発者は必要に応じてMojavi設定ファイルを修正する必要があります。以前はJavaを利用したWebアプリケーション開発とオブジェクト指向設計を得意としていたが、ワイズノットに入社以来、PHPの魅力にとりつかれる。現在はワイズノットのプロジェクトマネージャーとして、PHPをはじめとしたオープンソースの普及に力を注いでいる。