はじめに
本連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介していきます。前回は、Zend FrameworkのMVCを利用したHello World!アプリケーションの作成について紹介しました。第3回目となる今回は、Zend FrameworkのMVCの中核となるZend_Controllerをテーマに、フロントコントーラとアクションコントローラについて解説します。
対象読者
PHPの基本構文は一通り理解しているが、フレームワークを利用したことはないという方を対象としています。
これまでの記事
必要な環境
Zend FrameworkはPHP 5.1.4以降とWebサーバがインストールされている環境で利用可能です。本稿ではWebサーバとしてApache 2.2を、OSにWindows XPを採用し、アプリケーションを作成していきます。また、データベースを用いるサンプル(次回以降)では、MySQLを用いる予定です。
以下に、今回アプリケーション作成/動作確認に用いた環境を示します(インストールにあたっては最新安定版の使用を推奨します)。各項目の詳細なインストール手順は、「サーバサイド技術の学び舎 - WINGS」より「サーバサイド環境構築設定手順」を参照ください。
- Windows XP SP2
- PHP 5.2.4
- Apache 2.2.6
LinuxやFreeBSDなどUNIX系OSをお使いの方もコマンドはほぼ一緒ですので、パスなどは適宜読み替えてください。
Zend_Controllerにおけるリクエスト処理の流れ
Zend_Controllerについて解説していくにあたり、前回までにも紹介したリクエスト処理の流れを、ここからはもう少し丁寧に見ていきます。
この処理の流れは大まかに、リクエストの内容を解析して実際の処理の準備をする段階と、その次の実際の処理に分けることができるでしょう。それぞれをフロントコントローラ、アクションコントローラが担っています。また処理結果は基本的に最後にレスポンスとして返す必要がありますが、これもフロントコントローラの役割です。
今回はフロントコントローラとアクションコントローラについて、実際の処理の流れを追いながら、各々の主要な要素について見ていきます。