なぜ CakePHP か?
なぜ CakePHP を提案するのか?
過去記事の転載ですが、まさにこれが理由となっています。
- 1. 商用利用が可能
- CakePHP は、 MIT ライセンスです。商用利用が可能です。
- 2. PHP4 or PHP5 かつ PEAR 非依存
- CakePHP は、同じソースコードで PHP4 と PHP5 のどちらでも動作します。また、 PEAR を使用していないので、ホスティングをはじめとする多くの環境で動作します。
- 3. データベースと連携し SQL を wrapp した CRUD が可能
- CakePHP は、独自のルールでデータベースのアソシエーション(リレーション)を理解し、ほとんどのスクリプトを SQL を用いずに記述可能です。
- 4. scaffolding が可能
- CakePHP は、 RoR のような scaffolding を実現します。開発の初期にはマスタテーブルの仕様が決まっていないこともしばしばあることと思います。 scaffold で必要なデータとデータの形式を管理すれば、主となるロジックの実装に着手できるかも知れません。
- 5. MVC パターンを採用
- CakePHP は、 Web アプリケーション開発において実績のある MVC パターンを用いた開発が可能です。
- 6. 見栄えの良い URL
- CakePHP は、 mod_rewrite を用いずとも見栄えの良い URL をデザインすることが可能です。もちろん、 CakePHP は mod_rewrite にも対応しています。
- 7. 柔軟なテンプレート
- CakePHP は、テンプレートを PHP で記述します。コーダーは PHP のみを理解すればテンプレートを記述することが可能です(ちなみに、テンプレートを Smarty で記述する方法も随所で見つけることが可能です)。また、エレメントを利用することで HTML のコードを再利用しやすくなります。たとえばログインフォームを全画面で出力する手間が省けるかも知れません。
- 8. 豊富な標準ライブラリ
- CakePHP は、再利用可能なロジックをライブラリ(ビヘイビア、コンポーネント、ヘルパー)として提供します。たとえば、今までブラウザで動作していたリクエストを Ajax で記述し直す手間が省けるかも知れません。
- 9. サニタイジング
- CakePHP は、データをサニタイズするライブラリを持っています。さらに徹底的にデータを洗いたい場合には、リクエストとレスポンスの全変数をフックすることが可能です(派生クラスを作る必要がある)。
- 10. アクセスコントロール
- CakePHP は、標準にして十分なアクセスコントロールを持っています。アクセスコントロールにはデータベースを用いる方法と、設定ファイルを用いる方法の2種類があり、 Web アプリケーションの規模に応じて適切な手段を選択することが可能です。
- 11. ビューのキャッシュ
- CakePHP は、以前処理したことのあるビューを記憶しておき、同じリクエストに対するレスポンスをキャッシュから返すことが可能です。キャッシュを用いることでレスポンスが向上します。また、キャッシュしないリクエストを指定したり、データベースの内容が変更された場合にキャッシュを再構築することが可能です。強制的にキャッシュをクリアすることも可能で、キャッシュの要件を実現します。
- 12. シンプルなソースの設置
- CakePHP は、展開したアーカイブを Web サーバにディレクトリごと転送し、設定ファイルの一部(データベース接続情報)を編集するだけで動作します( Web サーバの設定によっては1カ所パーミッションの変更が必要)。 Web アプリケーションを正式リリースする際、ドキュメントルート以下には設定ファイルやロジックを置きたくないかも知れません。その場合でも定数をいくつか編集するだけで、そういったファイルをドキュメントルート以下から移動することが可能です。
« 「はじめに」へ | トップへ | 上の階層へ | 「CakePHP を使う準備」へ »
