CakePHP を採用する 12 の理由
Web システム開発の RAD フレームワークである CakePHP には次のような特徴があります。
ここでは CakePHP の採用を検討する際のポイントとなる部分を紹介します。
- 1. 商用利用が可能
- CakePHP は、 MIT ライセンス です。営利目的のサイト構築にも使用が可能です。
- 2. PHP4 or PHP5 かつ PEAR 非依存
- CakePHP は、同じソースコードで PHP4 と PHP5 のどちらでも動作します。また、 PEAR を使用していないので、ホスティングをはじめとする多くの環境で動作します。
- 3. データベースと連携し SQL を wrap した CRUD が可能
- CakePHP は、独自のルールでデータベースのアソシエーション(リレーション)を理解し、ほとんどのスクリプトで SQL を用いずにプログラムが記述可能です。
- 4. Scaffoldingが可能
- CakePHP は、 RoR のような Scaffolding を実現します。開発の初期にはマスタテーブルの仕様が決まっていないことがしばしばありますが、 Scaffolding で必要なデータとデータの形式を管理すれば、真っ先に主となるロジックの実装に着手できる可能性が高くなります。
- 5. MVC パターンを採用
- CakePHP は、 Web アプリケーション開発において実績のある MVC パターンを用いた開発が可能です。
- 6. 見栄えの良い URL
- CakePHP は、 mod_rewrite と連携することで、とても見栄えの良い URL をデザインすることが可能です。また Admin Routing や WebServices など URL の形式から出力するデータを切り替える仕組みを持っています。これは同じアクションで HTML を出力したい場合と XML を出力したい場合の2パターンが考えられる際に役に立ちます。
- 7. 柔軟なテンプレート
- CakePHP は、テンプレートを 100% pure PHP で記述します。開発者は PHP のみを理解すればテンプレートを記述することが可能となります(ちなみに、テンプレートを Smarty で記述することも可能で、方法は Web の随所で見つけることが可能です)。また、 HTML の外観を決めるレイアウトや、再利用可能コードを部品化するエレメントなど、大規模な開発にも耐えうる工夫がなされています。
- 8. 豊富な標準ライブラリ
- CakePHP は、再利用可能なロジックをライブラリ(ビヘイビア、コンポーネント、ヘルパー)として提供します。ライブラリはセキュリティや認証、 HTML 構築や Ajax 対応など多岐にわたり、 Web システムの構築に十分なラインナップとなっています。
- 9. サニタイジング
- CakePHP は、データをサニタイズするライブラリを持っています。さらに徹底的にデータを洗いたい場合には、リクエストとレスポンスの全変数のフローへユーザコードをフックすることが可能です。
- 10. アクセスコントロール
- CakePHP は、標準にして十分なアクセスコントロールを持っています。アクセスコントロールにはデータベースを用いる方法と、設定ファイルを用いる方法の2種類があり、 Web アプリケーションの規模に応じて適切な手段を選択することが可能です。
- 11. ビューのキャッシュ
- CakePHP は、以前処理したことのあるビューを記憶しておき、同じリクエストに対するレスポンスをキャッシュから返すことでレスポンスタイムを短縮させることが可能です。また、キャッシュしないリクエストを指定したり、データベースの内容が変更された場合にキャッシュを再構築したりすることが可能です。強制的にキャッシュをクリアすることも可能で、主立ったキャッシュの要件を実現しています。
- 12. シンプルなソースの設置
- CakePHP は、展開したアーカイブを Web サーバにディレクトリごと転送し、設定ファイルの一部(データベース接続情報)を編集するだけで動作します( Web サーバの設定によっては1カ所パーミッションの変更が必要)。しかし Web アプリケーションを正式リリースする際には、ドキュメントルート以下には設定ファイルやロジックを置きたくないこともあるかと思います。そういった場合でも定数をいくつか編集するだけで、そのようなファイルをドキュメントルート以下から移動することが可能です。
« 「CakePHP とは?」へ | トップへ | 上の階層へ | 「フレームワークの機能要件から見る CakePHP」へ »