CakePHP(ケイクピーエイチピー)は、PHPで開発されたオープンソースの
Webアプリケーションフレームワークです。
Ruby on Railsの思想を多く取り入れており、Railsのような高速開発とPHPの持つ高い機動性を兼ね備えている点が特徴です。MIT
ライセンスの下で無償で利用できます。
歴史
CakePHPプロジェクトは、
2005年3月に「Cake」という名前の小さなフレームワークが公開されたことから始まりました。同年12月にはcakeソフトウェア財団が設立され、数多くのサブプロジェクトを生み出しながら、利用者数を拡大してきました。特に日本では
2009年から2017年まで、最も人気のあるPHPフレームワークとして広く利用されていました。2018年以降は、世界的なトレンドの影響を受け、Laravelに人気を譲る形となりましたが、依然として根強い支持を得ています。2020年1月の調査では、日本国内で稼働しているWebサイトの数ではLaravelを上回っており、世界で最も多く利用されているフレームワークであることが示されています(日本に続き、アメリカ、ブラジルでの利用が多い)。
特徴
CakePHPには以下のような特徴があります。
MVCアーキテクチャ: モデル(Model)、ビュー(View)、コントローラ(Controller)の3つの要素に処理を分割することで、コードの可読性と保守性を高めています。
高い後方互換性: 旧バージョンとの互換性を維持するように開発されており、比較的容易にバージョンアップを行うことができます。
公式移行ガイドとUpgrade shell: 下位バージョンからのアップグレードをサポートする公式の移行ガイドと、コマンドラインから実行できるUpgrade shellが提供されています。
統合された柔軟なO/Rマッピング: データベース操作を効率的に行うためのO/Rマッピング機能を標準で搭載しています。
標準サポートデータベース: MySQL、PostgreSQL、SQLite、Microsoft SQL Serverといった主要なデータベースを標準でサポートしています。
フォームバリデーション機能: フォームデータの検証を容易にする機能が提供されています。
セキュリティ対策機能: XSS対策、CSRF対策、フォーム改竄検知などのセキュリティ機能が組み込まれています。
リクエストディスパッチャー: カスタムURLを実現するためのリクエストディスパッチャーが用意されています。
外部ライブラリへの依存なし: PEARなどの外部ライブラリに依存せず、単体で利用することができます。
インポート機能: 必要な
ライブラリをその都度利用できるインポート機能を備えています。
プラグインによる拡張: プラグインを利用することで、機能を容易に拡張することができます。
柔軟なビュー機構: 柔軟なビュー機構により、多様な表現が可能です。
テンプレートの継承・拡張: テンプレートの継承や拡張を利用することで、効率的な開発が可能です。
ページキャッシュ・部品キャッシュ: ページ単位および部品単位でのキャッシュ機能を備えています。
Composerへの標準対応: バージョン3以降は、PHPのパッケージ管理ツールであるComposerに対応しています。
リリース
リリースバージョンは、メジャーバージョン、マイナーバージョン、アップデートバージョンで構成されています。
メジャーバージョン: アーキテクチャの変更などを管理するバージョンです。例えば、CakePHP 1から2ではPHP4のサポートが廃止されPHP5専用となり、CakePHP 2から3ではPHP5.4以降専用となり、名前空間の使用やモデルがオブジェクトを返すようになりました。
マイナーバージョン: 新機能の追加などを管理するバージョンです。同じメジャーバージョン内では、新機能を使用しなければ互換性が維持されます。例えば、CakePHP 2.0から2.1ではビュークラスの機能拡張や、コールバックに代わるイベントマネージャーが導入されました。
アップデートバージョン: バグ修正や性能改善を管理するバージョンです。
各バージョン詳細
以下は、主なバージョンの詳細です。
CakePHP 1.2
リリース日: 2008年12月25日
対応PHPバージョン: PHP4.3.2以降およびPHP5以降
主な変更点: テストの網羅性向上、シェル機構の導入、i18n/l10nサポート、ユニコードサポート、CSRF対策、ビヘイビア機能、バリデーション強化、DB2/Oracleサポート、APC/XCache/Memcacheサポート、詳細エラー表示、ページ分割・ソート機能、Formヘルパーへの移行、設定管理の変更、ファイル読み込みの変更、ビューのファイル拡張子の変更。
CakePHP 1.3
リリース日: 2010年4月24日
対応PHPバージョン: PHP4.3.2以降およびPHP5以降
CakePHP 2.0
リリース日: 2011年10月16日
対応PHPバージョン: PHP5.2.6以上
CakePHP 2.0.3
PHPUnit 3.6 に対応
CakePHP 2.1
リリース日: 2012年3月5日
対応PHPバージョン: PHP5.2.8以上
CakePHP 2.2
リリース日: 2012年7月1日
対応PHPバージョン: PHP5.2.8以上
CakePHP 2.3
リリース日: 2013年1月28日
対応PHPバージョン: PHP5.2.8以上
CakePHP 2.4
リリース日: 2013年8月30日
対応PHPバージョン: PHP5.2.8以上
CakePHP 2.5
リリース日: 2014年5月13日
対応PHPバージョン: PHP5.2.8以上
CakePHP 2.6
リリース日: 2014年12月23日
対応PHPバージョン: PHP5.2.8以上
CakePHP 2.7
リリース日: 2015年7月12日
対応PHPバージョン: PHP5.3.0以上
CakePHP 3.0
リリース日: 2015年3月22日
対応PHPバージョン: PHP5.4.16以上
主な変更点: 新しいORMの導入、View Cellsクラスの導入
CakePHP 3.1
リリース日: 2015年9月20日
対応PHPバージョン: PHP5.4.16以上
CakePHP 3.2
リリース日: 2016年1月29日
対応PHPバージョン: PHP5.5.9以上
CakePHP 3.3
リリース日: 2016年8月12日
対応PHPバージョン: PHP5.5.9以上
CakePHP 3.4
リリース日: 2017年2月12日
対応PHPバージョン: PHP5.6.0以上
CakePHP 3.5
リリース日: 2017年8月18日
対応PHPバージョン: PHP5.6.0以上
CakePHP 3.6
リリース日: 2018年4月14日
対応PHPバージョン: PHP5.6.0以上
CakePHP 3.7
リリース日: 2018年12月8日
対応PHPバージョン: PHP5.6.0以上
CakePHP 3.8
リリース日: 2019年6月26日
対応PHPバージョン: PHP5.6.0以上
CakePHP 3.9
リリース日: 2020年6月21日
対応PHPバージョン: PHP5.6.0以上
2022年12月15日までセキュリティ修正をリリース
CakePHP 4.0
リリース日: 2019年12月15日
対応PHPバージョン: PHP7.2.0以上
CakePHP 4.1
リリース日: 2020年7月5日
対応PHPバージョン: PHP7.2.0以上
CakePHP 4.2
リリース日: 2020年12月21日
対応PHPバージョン: PHP7.2.0以上
PHP8の完全サポート
CakePHP 4.3
リリース日: 2021年10月24日
対応PHPバージョン: PHP7.2.0以上
CakePHP 4.4
リリース日: 2022年6月7日
対応PHPバージョン: PHP7.4.0以上
発音・読み方
日本国内では、英語の発音に近い「ケイクピーエイチピー」と読まれることが一般的です。
外部リンク
CakePHP - Build fast, grow solid | PHPフレームワーク 日本語公式サイト
API (英語)
日本語マニュアル(4.x系)
日本語マニュアル(3.x系)
日本語マニュアル(2.x系)
*
日本語マニュアル(1.3系)