CakePHP

CakePHP（ケイクピーエイチピー）とは、PHPで書かれたオープンソースのWebアプリケーションフレームワークである。先行するRuby on Railsの概念の多くを取り入れており、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークと言われている。MITライセンスの元でフリーで配布されている。

**歴史**
2005年3月、Cakeという名前の小さなフレームワークが公開されたことでCakePHPプロジェクトは始まった。2005年12月にはcakeソフトウェア財団が設立され、多くのサブプロジェクトを生みながら、利用者の拡大を続けている。特に日本においては、2009年以降、2017年までもっとも人気のあるPHPフレームワークとなっており、2018年からは世界的な潮流を受けてLaravelに人気を奪われるも根強い人気を得ている。なお、2020年1月現在も日本での稼働WEBサイト数はLaravelを上回っており、世界で最も多いという調査結果がある（日本以下、アメリカ、ブラジルと続く）。

**特徴**
 MVCアーキテクチャ。- 高い後方互換性。
** 下位バージョンからのアップグレードをサポートする公式移行ガイド及びUpgrade shell。- 統合された柔軟なO/Rマッピング。
** MySQL、PostgreSQL、SQLite、Microsoft SQL Serverを標準サポート。- フォームバリデーション機能。- セキュリティ対策機能（XSS対策・CSRF対策・フォーム改竄検知）。- カスタムURLを実現するためのリクエストディスパッチャー。- PEAR等の外部ライブラリに依存しておらず、単体での利用が可能。- 必要なライブラリをその都度利用できるインポート機能。- プラグインによる機能拡張。- 柔軟なビュー機構。
** テンプレートの継承や拡張。
** ページ単位及び部品単位のキャッシュ。- Composerへの標準対応（バージョン3以降）。

**リリース**
リリースバージョンは、メジャーバージョン・マイナーバージョン・アップデートバージョンで構成されている。
 メジャーバージョン
 アーキテクチャーの変更等を管理するバージョン。- 例）CakePHP 1 → 2（PHP4のサポートがなくなり、PHP5専用へ）。CakePHP 2 → 3（PHP5.4以降専用・名前空間の使用・モデルが配列でなくオブジェクトを返す）
 マイナーバージョン
 新機能の追加等を管理するバージョン。基本的に新機能を使用しなければ、同じメジャーバージョン内では互換性を持つとしている。- 例）CakePHP 2.0 → 2.1（ビュークラスの機能拡張・コールバックに変わるイベントマネージャーの導入）
 アップデートバージョン
 バグ修正や性能改善を管理するバージョン。

**CakePHP 1.2**
 リリース日 : 25- 対応PHPバージョン : PHP4.3.2以降及びPHP5以降- CakePHP 1.1 からの変更点
** テストが全クラスをカバーし、コードカバレッジもより網羅
** コマンドラインからアプリケーションを実行するシェル機構の導入
** i18n（国際化）とl10n（地域化）をサポート
** ユニコードの文字列をサポート
** CSRF対策の導入
** モデル内のメソッドを再利用可能にするビヘイビア機能の導入
** バリデーションの強化(複数バリデーションのサポートと組み込みバリデーションルールの増加)
** DB2、Oracle Database のサポート
** APC/XCache/Memcache のサポート
** より詳細なエラー表示（開発時のみ、バックトレースやビュー変数をエラーとともに表示）
** ページ分割やソートを可能にするPagination機能の追加
** Htmlヘルパーの肥大化解消のため、フォーム関連をFormヘルパーに移行
** アプリケーション全体の設定をConfigureクラスによる定義へと変更
** 外部ファイルの読み込みをAppクラスによる読み込みへと変更
** ビューのファイル拡張子が「.thtml」から「.ctp」へと変更

**CakePHP 1.3**
 リリース日 : 24- 対応PHPバージョン : PHP4.3.2以降及びPHP5以降

**CakePHP 2.0**
 リリース日 : 16- 対応PHPバージョン : PHP5.2.6以上- CakePHP 2.0.3
** PHPUnit 3.6 に対応

**CakePHP 2.1**
 リリース日 : 05- 対応PHPバージョン : PHP5.2.8以上

**CakePHP 2.2**
 リリース日 : 01- 対応PHPバージョン : PHP5.2.8以上

**CakePHP 2.3**
 リリース日 : 28- 対応PHPバージョン : PHP5.2.8以上

**CakePHP 2.4**
 リリース日 : 30- 対応PHPバージョン : PHP5.2.8以上

**CakePHP 2.5**
 リリース日 : 13- 対応PHPバージョン : PHP5.2.8以上

**CakePHP 2.6**
 リリース日 : 23- 対応PHPバージョン : PHP5.2.8以上

**CakePHP 2.7**
 リリース日 : 12- 対応PHPバージョン : PHP5.3.0以上

**CakePHP 3.0**
 リリース日 : 22- 対応PHPバージョン : PHP5.4.16以上
** 新しいORMの導入
** View Cellsクラスの導入

**CakePHP 3.1**
 リリース日 : 20- 対応PHPバージョン : PHP5.4.16以上

**CakePHP 3.2**
 リリース日 : 29- 対応PHPバージョン : PHP5.5.9以上

**CakePHP 3.3**
 リリース日 : 12- 対応PHPバージョン : PHP5.5.9以上

**CakePHP 3.4**
 リリース日 : 12- 対応PHPバージョン : PHP5.6.0以上

**CakePHP 3.5**
 リリース日 : 18- 対応PHPバージョン : PHP5.6.0以上

**CakePHP 3.6**
 リリース日 : 14- 対応PHPバージョン : PHP5.6.0以上

**CakePHP 3.7**
 リリース日 : 08- 対応PHPバージョン : PHP5.6.0以上

**CakePHP 3.8**
 リリース日 : 26- 対応PHPバージョン : PHP5.6.0以上

**CakePHP 3.9**
 リリース日 : 21- 対応PHPバージョン : PHP5.6.0以上
*2022年12月15日までセキュリティ修正をリリース。

**CakePHP 4.0**
 リリース日 : 15- 対応PHPバージョン : PHP7.2.0以上

**CakePHP 4.1**
 リリース日 : 05- 対応PHPバージョン : PHP7.2.0以上

**CakePHP 4.2**
 リリース日 : 21- 対応PHPバージョン : PHP7.2.0以上
** PHP8の完全サポート

**CakePHP 4.3**
 リリース日 : 24- 対応PHPバージョン : PHP7.2.0以上

**CakePHP 4.4**
 リリース日 : 07- 対応PHPバージョン : PHP7.4.0以上

**発音・読み方**
日本国内では英語での発音に近い「ケイクピーエイチピー」と読まれることが多い。

**脚注**

**外部リンク**
 CakePHP - Build fast, grow solid | PHPフレームワーク 日本語公式サイト- API - 日本語マニュアル（4.x系）- 日本語マニュアル（3.x系）- 日本語マニュアル（2.x系）- 日本語マニュアル（1.3系）