はじめに
本連載では、PHP上で動作するアプリケーションフレームワーク「Zend Framework」を紹介しています。今回はZend Framework 1.6から追加されたモジュールの一つである「Zend_Dojo」を解説します。
Zend Frameworkは、バージョン1.6からDojo Toolkitが添付されるようになりました。そのDojo ToolkitとZendとを連携させるための仕組みがZend_Dojoです。現在、Zend_Dojoには大きく分けて3つの機能が実装されています。
- 基本的な機能を提供するZend_Dojoのビューヘルパ
- JavaScriptを利用したウェブページ用の部品、Dijitを利用するための機能
- Dijitがデータの送受信のために利用するdojo.dataの作成や操作を行うためのZend_Dojo_Data
今回はZend Frameworkに添付されているDojo Toolkitの設定と、上の(1)と(3)について扱います。Dijitの基本的な使い方は中編で、各Dijitの紹介は後編で行う予定です。
対象読者
PHPの基本構文は一通り理解しているが、フレームワークを利用したことはないという方を対象としています。
必要な環境
Zend FrameworkはPHP 5.1.4以降とWebサーバがインストールされている環境で利用可能です。本稿ではWebサーバとしてApache 2.2を、OSにWindows XPを採用し、アプリケーションを作成していきます。
以下に、今回アプリケーション作成/動作確認に用いた環境を示します(インストールにあたっては最新安定版の使用を推奨します)。各項目の詳細なインストール手順は、「サーバサイド技術の学び舎 - WINGS」より「サーバサイド環境構築設定手順」を参照ください。
- Windows XP SP2
- PHP 5.2.8
- Apache 2.2.11
LinuxやFreeBSDなどUNIX系OSをお使いの方もコマンドはほぼ一緒ですので、パスなどは適宜読み替えてください。
Dojo Toolkitとは?
AJAXなどを使った動的なウェブサイトを構築する場合、直接JavaScriptで一からすべてを書くのではなく、JavaScriptのライブラリを利用するのが普通だと思います。Dojo Toolkitはそのようなライブラリの一つで、ブラウザ間のJavaScriptの違いを吸収するといった基礎的な機能から、dijitと呼ばれるウェブページ内で利用できる高機能なウィジェットまで、さまざまな機能を提供します。
Zend Frameworkにはさまざまなモジュールが提供されているとは言え、実現できるのはサーバサイドで処理を行うものという限界がありました。一方、最近ではクライアントサイドで処理を行う技術も一般的に利用されるようになってきています。クライアントサイドで行う処理を利用することで、動的なウェブサイトを構築する際の表現幅が大きく広がります。
Dojo Toolkitは大きく、基本的な機能を提供するコアライブラリのdojo、ウェジットを提供するdijit、そして実験的なライブラリであるdojoxに分けることができます。これらのライブラリで次のような機能を提供します。
- イベントやキーボード入力のブラウザ間の違いの吸収
- DOM操作
- アニメーション
- Ajaxを簡単に使うためのラッパー
- ドラッグ&ドロップ
- 国際化(i18n)
- アクセサビリティーの向上(a11y)
- クラスベースのオブジェクト指向プログラミングやモジュール化など、JavaScript言語の拡張
それでは、まずDojo Toolkitを使えるように設定するところから始めましょう。