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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

脚注

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