技術情報

PHPフレームワーク「Zend framework」とは

PHPWebアプリケーションフレームワーク「Zend framework」について紹介します。

概要

「Zend framework」とは

「Zend Framework」は、PHP5で実装されたオープンソースオブジェクト指向Webアプリケーションフレームワークです。

MVCアーキテクチャで独立性の高い各種コンポーネントを組み合わせることにより、効率的にPHPアプリケーションを構築できます。

基本説明

「Zend Framework」は、使い方が自由である点が特徴です。他のフレームワークほど規約を使わず、むしろ妥当なデフォルトを設定しておき、各アプリケーションの必要に応じてそれを上書きするという方法を推奨しているPHP5用MVCフレームワークです。

「Zend Framework」の構造は、非常にシンプルであることから、比較的楽に習得できます。動作も高速です。

従うべき開発パラダイム/開発パターンというものは存在せず、「MVC」、「Table Data Gateway」、「Row Data Gateway 」といったデザインパターンのためのコンポーネントが提供されています。他にもWebアプリケーション開発で必要となる多数のコンポーネントが提供されています。

「Zend Framework」は、イスラエルの「Zend Technologies」社が中心となって開発しています。PHP5コア「Zend Engine 2」などを開発している会社として知られています。IBM/Googleや開発コミュニティと協力して開発しています。

経緯

2005年初め 「Ruby on Rails」「Spring Framework」が広まりつつあった当時、「Zend Framework」の構想開始
2005年10月 第1回「Zend Conference」で「Zend Framework」 発表
2006年03月 「Zend Technologies」社によって公開
2007年07月 「Zend Framework 1.0」リリース
2012年09月 「Zend Framework 2.0」リリース

ポイント

・シンプル
・拡張性
・よくテストされたコードベース
・柔軟な構造
・起動/実行などに必要な設定ファイルがない
・オブジェクト指向
・最新のWeb開発フィーチャーをサポート
・JSONを通したAJAXサポート
・検索機能
・シンジケーション
・Webサービスの利用
・高品質オブジェクト指向PHP5クラスライブラリ
・AJAXライブラリ「Dojo」をバンドル

 

主な特徴

オブジェクト指向PHP5

全コンポーネントは完全オブジェクト指向のPHP5で、E_STRICT準拠です。

シンプル構造でコンポーネント独立性がある「自由に使える(use-at-will)」アーキテクチャ

「Zend Framework」は、非常にシンプルな構造であるため、膨大なクラス群を理解しなければならないということはありません。ソースコードの可読性も高くなります。

各クラスライブラリは、結合度が弱く独立性が高いコンポーネント群からなり、その依存関係は最小限に抑えられています。「バリデータのみ使う」「キャッシュ機能のみ使う」「ログ機能のみ使う」のように、豊富に用意されている特定コンポーネントをダウンロードしてライブラリ的に使用することができます。これまで開発してきた既存のPHPコードも活用しやすく、他のライブラリとの併用も可能です。

MVCモデルに基づいて設計されていますが、そのMVCもコンポーネント群として提供されているため、「コンポーネントを使うがMVCは使わない」といったことも可能です。

コード/文書/テストの標準

「Zend Framework」にコードを提供する場合、コード/文書/テストに対する厳しい標準を守らなければなりません。すべてのコードは、コーディング標準に適合する必要があり、コード網羅率80%以上の単体テストに合格する必要があります。厳格な標準規定により、コンポーネントの品質を維持しています。

使いやすいライセンス

「Zend Framework」のライセンスは、「New BSD License」を採用しており、利用者にとって使用上の制約が少なくなるよう配慮されています。

開発企業への信頼

「Zend Technologies」社は、PHP4以降で採用されているスクリプトエンジン「Zend Engine」を開発している企業です。それだけに、高品質とサポート体制に安心感があります。

「Zend Framework」は、安定した、クリーンな知的所有権を備えたコードを提供します。

 

まとめ

「Zend Framework」には、「Zend Technologies」社が開発している信頼感があります。必要な機能を自由に組み合わせて、効率的にWebアプリケーションを構築しやすいフレームワークになっています。

 

CakePHPを使ったオフショア開発は、こちらへ

About the author: matsumoto