以前から、小規模向けのフレームワークを探してたんだが、ついにイイのが見つかった・・!
自前でも簡易的なフレームワークを作って開発していたけど、もうこちらに乗り換える事に決めた。
公式サイト
CakePHP
日本語フォーラム
フォーラム - CakePHP Users in Japan
日本語マニュアル
CakePHP プログラマーズ リファレンスガイド
CodeZineでの紹介記事
CakePHPフレームワークによる快速WEB開発
日本語マニュアルでは、以下のような特徴が紹介されている。
- 活発でフレンドリーなコミュニティ
- 柔軟なライセンス
- PHP4 と PHP5 での互換性
- データベースと連携し、クエリを簡略化するための CRUD が統合済み
- アプリケーションの Scaffolding(足場組み)
- モデル ビュー コントローラ (MVC) アーキテクチャ
- 見栄えのよいカスタム URL を実現するリクエストディスパッチャー
- バリデーションが組み込まれている
- 高速で柔軟なテンプレート機能 (PHP 構文。各種ヘルパーが付属)
- AJAX, Javascript, HTML フォームなどのための各種ビューヘルパー
- セキュリティ、セッション、リクエストなどを処理するコンポーネント
- 柔軟なアクセスコントロールリスト
- データのサニタイズ
- 柔軟なビューのキャッシュ
- Webサイトのサブディレクトリでも動作。Apache はまったくいじらなくてよいか、わずかな設定のみ。
重宝している理由としては、まず、コミュニティが動いているという事と日本語マニュアルが整備されているという事。以前利用したMohaviの場合、開発がストップしている事もあり、日本語コミュニティはほとんど死んいた。
MVCは当たり前として、リクエストディスパッチャーは重要だと思う。サイト構造を整理してくれるのと同時にURLの柔軟な対応が可能となる。
SEO対策上、動的なURLは検索エンジンにキャッシュされにくいという話だが、CakePHPは静的URLが前提となる。(最近では、サイトマップなどを利用する事により動的URLもきちんとキャッシュしてくれるようだが)
次に、自分が一番苦手なバリデーションとデータのサニタイズ。ホントはこれが目的と言っても過言ではない程。以前は、PEARのHTML_QuickFormに頼っていた。
そして、AJAXのヘルパーが付属している事。まだ利用していないが、やはりこれからはAJAXは必須になるだろうし。
最後に。CakePHPは、基本がきちんとあって、その他のイレギュラーにも対応するという、芯の通った柔らかさがある。
フレームワークとしてイイ意味でのガチガチ感もあり、かつ、カスタマイズも全然OKって感じだ。
フレームワークは下手にカスタマイズすると、元に戻れないような感じがある。
CakePHPは、コア部分のバージョンアップにも耐えうるカスタマイズ手法をきちんと提供している。
- Newer: CakePHPのインストール
- Older: デザインタイムスタイルシート