Zend Framework入門(16):
JavaScriptフレームワークDojoとの連携 - Zend_Dojo(前編)-
Zend Frameworkによる実践的なPHPアプリケーション開発 16
ダウンロード サンプルファイル (5.6 KB)
本連載では、PHP上で動作するアプリケーションフレームワークZend Frameworkについて紹介します。今回はZend Framework 1.6から追加されたモジュールの一つである「Zend_Dojo」を解説します。
はじめに
本連載では、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を使えるように設定するところから始めましょう。
この記事は参考になりましたか?
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 風田 伸之(カゼタ ノブユキ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
