PHPの開発にも慣れてきてそろそろフレームワークを使って開発してみたいが
フレームワークの種類が多すぎてどれを使えばいいか分からないという方も多いと思います。
今回は主要なPHPフレームワークの紹介をします。
現在世界的に主要なフレームワークは「Symfony」、「CakePHP」、「Zend Framwork」の3つになります。
Symfony
二つのフレームワークの利点を引き継いでいます。一つは、一時注目を集めたMojaviの「MVC機能」です。もう一つは、Ruby言語のフレームワークとして評価の高いRuby on Railsの「圧倒的な開発効率を実現するための機能」です。これらの利点を活かすことで、高い安定性とセキュリティの両面での強さを最小限の設定で発揮します。これまでPHPの弱みとされてきたオブジェクト指向を活かす工夫と、PHPの強みとされてきた処理速度とスケーラビリティの保持により、複数人での開発、すなわち大規模開発を優位に進めます。
PHP5.1以降に対応しており、キャッシュ管理や多言語対応、AjaxサポートといったWeb アプリケーションを作成する際に必要となってくる機能の多くがはじめから用意され、その他の機能も簡単に追加できるプラグインを使って拡張できるのが特徴です。
CakePHP
CakePHPは「あらゆるレベルのPHPユーザーが、素早く快適に開発を行える事」を目標として産み出されたRAD型のフレームワークで、Ruby on Railsの影響を強く受けています。シンプルでフレームワークとしての規模は比較的小さめ、小・中規模開発に適正がある点で人気となっています。
現在のところ、世界規模で最も多くのWebアプリケーションに導入されているPHPフレームワークで、高いレベルでユーザーの要求に応える事ができる機能を備えています。またそれだけでなく、初心者が導入しやすいようにサーバーの設定変更や動作環境の整備がほとんど必要ないように作られています。
Zend Framework
Zend Frameworkは、PHP4以降で採用されているスクリプトエンジン、Zend Engineを開発しているZend Technologies(以下、Zend社)が、IBM、Googleなどの企業やPHPの開発コミュニティの人々と共に、PHP Collaboration Projectの一環として開発を行っているフレームワークで、クオリティの高いフレームワークを提供しています。Zend社が、開発を推進している点で、今後の開発体制には大きな信頼を置いてもよいでしょう。
各コンポーネントの独立性が高く、コンポーネント同士の結びつきが緩やかな設計になっているため、Zend Frameworkの特定のコンポーネント(クラス群)のみをダウンロードしてライブラリ的に使用することができる点で、大きな魅力といえるでしょう。
Ethna
国内ではこれに続くのが「Ethna」。Greeの藤本氏が開発された国産のフレームワークです。GreeのサイトもEthnaで作られています。
ライブラリとしてPEARを用いており、本体のコード量が少なく、見渡しの良いフレームワークです。
(5/29 追記)
最近のバージョンではPEAR依存関係の解消が進んでいる模様です。
Ethna – 2008/10/11 Ethna 2.5.0 preview2 リリース
シェア
Googleの検索数で見ると、世界では3大フレームワークの差はあまり見られません。
一方国内ではまだまだCakePHPが強いようです。
世界全体
日本国内
どのフレームワーク使うか?
各フレームワーク長所短所あり、一概にどれが良いというのはいえません。
どのフレームワークを使っても効果は出せるでしょう。
ちなみにセルバでは「Zend Framework」を使っています。
理由というのが、以前は「mojavi」を使っていたのですが開発中止になり、
仕事で使う以上はサポートが長く続くフレームワークが良いだろうという事でした。
「Zend Framework」はZend社が進めているプロジェクトですのでそう簡単に中止にはしないだろうと思われます。
もしここまで読んでどのフレームワークを採用しようか迷っている方がいたら「Zend Framework」をオススメします!
そして「Zend Framework」の情報を増やしていってください!
参考:
PHPプロ! – 『PHPフレームワークの機能比較』