はじめに
本連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介していきます。前回、前々回と、Zend_Controllerの中核とも言えるフロントコントローラ/アクションコントローラとモジュール、そして、ルーティングについて紹介してきました。第5回目となる今回は、Zend_Controller編の最終回として、コントローラの機能を拡張するアクションヘルパーとプラグインについて解説します。
対象読者
PHPの基本構文は一通り理解しているが、フレームワークを利用したことはないという方を対象としています。
これまでの記事
- Zend Framework入門(1):フレームワークの全体像とインストール
- Zend Framework入門(2):Hello World!アプリケーションの作成
- Zend Framework入門(3):PHPでMVCアプリケーションを構築しよう - Zend_Controller(前編) -
- Zend Framework入門(4):PHPでMVCアプリケーションを構築しよう - Zend_Controller(中編) -
必要な環境
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をお使いの方もコマンドはほぼ一緒ですので、パスなどは適宜読み替えてください。
機能拡張:アクションヘルパーとプラグイン
第2回で、デフォルトで有効になっている追加機能として「ViewRenderer」と「ErrerHandler」を紹介しました。これらはそれぞれアクションヘルパーとプラグインです。ここではアクションヘルパーとプラグインについて見ていきます。
それぞれの概要と相違点
まず、両者の概要を紹介します。
- アクションヘルパー
- プラグイン
要は、アクションヘルパーはイベント発生時の処理も可能なので、プラグインのような利用もできますが、基本的にアクションコントローラレベルのもので、イベント発生のタイミングも限られています。一方、プラグインは設定できるタイミングがアクションヘルパーよりも多く、またフロントコントローラからアクションコントローラを超えた統一的な処理ができますが、アクションコントローラそのものの機能に手を加えることはできません。