Blog

PHPのフレームワークを比較

2009年5月18日

最近EC-CUBE(ECサイト構築を目的としたPHP+Smartyで書かれたオープンソースのCMS)を利用することを想定して、PHPを勉強しています。

せっかく勉強するので、PHP5から導入されたOOP(オブジェクト指向プログラミング)を習得するためにもPHP製のフレームワークも手にとってみようと思い、色々調べていました。

候補に挙がったのがCakePHPとSymfonyです。なぜかというと検索してみた結果、ユーザーの意見が好評だったという点と、書籍が比較的最近出ているものが多かったからです。まさにこれからのフレームワークという印象を受けました。

この記事の内容

CakePHP

http://cakephp.jp/

導入が比較的簡単そうな印象を受けました。圧縮されたファイルをダウンロードして解凍し、サーバーのフォルダにおいて置くだけでOKという簡単さがすばらしい。

Ruby on RailsのActionRecordのような記述ができるので、慣れたら長い記述をすることなく簡単にデータベースに接続したりできそう。このへんの記述の統一(メソッド、モデル、ヴュー、データベースの名前など)の発想はRuby on Railsっぽい。

Mozzilaのアドオンのサイトやniftyの掲示板サイトなどにも採用されてるので、短期間でそこそこ安定したシステムが作れるのかなと感じた。通販サイト構築例のチュートリアルなどもあればEC-CUBE使わずにこっちで一から覚えていきたいと感じる。※EC-CUBEは本当至れり尽くせりな機能が満載なのであそこまでの作るのはまず無理かな・・・

Symfony

http://symfony.jp/

かなり拡張性が高く、PEARといったライブラリを屈指した完全にOOPなフレームワークだなという印象。設置はコマンドラインからMVCの足場となるRuby on RainsのScafoldに似た手順でサクサク作っていく感じ。インストールまでに色々設定することがありそうだけど、慣れればどうってことないというのが第一印象です。

Yahooのブックマークなどに採用されていたり、海外ではこっちのほうが安定的なフレームワークと捕らえられている印象をうける。大手のベンダーから採用されると様々なバグやエラーのフィードバックからバージョンアップの際にどんどん安定していく点が有利に働くのかな。

自分にとってどれから手をつけたらいいのか

どっちが素晴らしいかというのは決めようがないなというのを感じた。CakePHPもSymfonyも両方良い部分があるからだ。でもPHP初心者という面やレンタルサーバーでも稼動が簡単という点からやっぱりCakePHPかなというのが僕の感想でした。