Zend Frameworkとは? - PHPプロ!

PHPフレームワークとは?

What is the PHP Framework?

Zend Frameworkとは?

symfony-project.com

Zend Frameworkは、PHP4以降で採用されているスクリプトエンジン、Zend Engineを開発しているZend Technologies(以下、Zend社)が、IBM、Googleなどの企業やPHPの開発コミュニティの人々と共に、PHP Collaboration Projectの一環として開発を行っているフレームワークで、クオリティの高いフレームワークを提供しています。Zend社が支援しているので、今後の開発体制には大きな信頼を置いてもよいでしょう。

PHP用のフレームワークはZend Frameworkの他にいくつも存在します。現時点では、symfony、CakePHPのような、Zend Frameworkよりも開発が先行し、多くの採用実績を持つフレームワークがあるのは事実です。

しかし、Zend Frameworkは各コンポーネントの独立性が高く、コンポーネント同士の結びつきが緩やかな設計になっているため、Zend Frameworkの特定のコンポーネント(クラス群)のみをダウンロードしてライブラリ的に使用することができる点で、大きな魅力といえるでしょう。

Zend Frameworkの機能の特徴

先述のようにZend FrameworkはZend社が支援しているので、今後、注目度がますます高まるフレームワークとなるでしょう。ここでその特徴をいくつかピックアップしてまとめていきたいと思います。

PHP5.1.4以降に対応したフレームワーク

Zend Frameworkはsymfonyと同様にPHP5に対応したフレームワークです。

MVCモデルを使用

MVCモデルとは、アプリケーションのプログラムをMVCモデルとは、アプリケーションのプログラムを3層に分けて作成する手法で、プログラムコードのメンテナンスが簡単になります。

Zend Frameworkの優れた機能・メリット

柔軟なコンポーネント(クラス群)

symfony-project.com

他のフレームワークに比べて、コンポーネント同士の結びつきが緩やかで、独立性が強い設計となっています。これにより、各コンポーネントを単独、コンポーネント(クラス群)の必要なものだけをチョイスしてロード、標準のコンポーネント以外のものと組み合わせて利用することができます。

多種多様なコンポーネント(クラス群)

PDFの動的な取得を可能にするコンポーネント、Webサービスに関する多種多様で、有用なコンポーネントを揃えています。ライブラリとして他のフレームワークのWebアプリケーション上に組み込んで使用するといったように既存のシステムに組み込むことも可能です。

豊富な情報量

Zend Frameworkは日本語を含めた世界数十カ国でバージョンが上がるごとに、ほぼ同時にマニュアルが更新されるなど、情報としても入手しやすく、情報のボリュームもあります。バグなどの情報も専用の管理ツールが用意されており、現状の開発状況の確認も含め入手しやすいです(※注1)。その他、ドキュメントは開発の初期の段階から、主要なコンポーネントに関しては十分に用意されており、コードサンプルも豊富にあります(※注2)。

※注1:http://framework.zend.com/issues/secure/Dashboard.jspa

※注2:http://framework.zend.com/manual/ja/index.html

開発企業への信頼

Zend社はご存知のように、PHP4以降で採用されているスクリプトエンジンZend Engineを開発している企業。それだけにクオリティの高さと今後の開発は保証されていると言ってもいいでしょう。また、開発が途中で停止してしまうといった可能性が低い点も大きな魅力といえます。

PHPプロ!では、今回紹介した3つのフレームワーク(CakePHP, symfony, Zend Framework)に関する読者の皆様からの情報を募集しております。それぞれのフレームワークに対して実際に使用してみた感想、アピールポイント、デメリットなどありましたらお気軽にご投稿ください。

対象フレームワーク
意見・情報



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)