ele_eel's diary

プログラムの事を少しと、デジタル系買物記。

PHPフレームワークを使ってみた Kohana その1

PHPフレームワークはいくつかあって、メリット・デメリットを調べてみました。

CakePHP
メリット:利用ユーザが多い。日本語ドキュメントが充実。機能も充実。しかし機能が多すぎるせいでファット化。小・中規模だと無駄が多いかも。
Zend_Framework
オフィシャルフレームワークなので安心感。ライブラリを流用できる。しかしとっつきにくい。
symfony
PEARで管理可能。プロジェクトをコマンドで作る必要がある。
CodeIgniter
比較的軽い動作。構造も簡素化されている。しかしPHP4で記述。セッションライブラリに難あり。

その他、国産のEthnaちいたんなどあり。

メリット・デメリットを考慮の上、あとフレームワークの勉強の為、あまり構造が複雑でないものという基準で、どれから使ってみるか調べてみました。

CodeIgniterを調べてみたら

CodeIgniterは比較的単純な構造で、フレームワークの全体を理解するのには非常に良いつくりになっていました。が、セッションライブラリがあまり好ましくない仕様となっているようです。それは暗号化するにせよ、セッションデータをクッキーに保存しているということです。セキュリティ的にどうかと思いますし、気持ちのよい仕様とは思えません。さらに、PHP4互換のためにPHP5に最適化されていないというのも、ひっかかりました。

そんな調べものをしているうちに見つけたのが、Kohanaというフレームワークです。「コハナ」と読むんでしょうか。これはCodeIgniterから派生したフレームワークでした。上の不満を全て解消してくれています。オブジェクトはPHP5で書き換えられていて、OOPの勉強にも非常に良いです。ただ一つの難点は、まだユーザーが少ないのかドキュメントがあまり多くありません。英文の公式のリファレンスを読んでなんとかするしかないです。

CodeIgniterから派生しただけあって、ディレクトリ構造とか規約は似てますが、PHPの最適化バージョンが異なる為、同じように使えるというわけではないようです。それからScaffoldingがまだないようです。あったら便利なものなので、実装をお待ちしております。

OOPの勉強も兼ねてKohanaをいじってみます。