CakePHP

From Wikipedia, the free encyclopedia

開発元 cakeソフトウェア財団
初版 2005年4月 (20年前) (2005-04)
最新版
5.3.0[1] ウィキデータを編集 / 2026年1月9日 (2か月前)
CakePHP
開発元 cakeソフトウェア財団
初版 2005年4月 (20年前) (2005-04)
最新版
5.3.0[1] ウィキデータを編集 / 2026年1月9日 (2か月前)
リポジトリ ウィキデータを編集
プログラミング
言語
PHP
プラットフォーム クロスプラットフォーム
種別 Webアプリケーションフレームワーク
ライセンス MITライセンス
公式サイト https://cakephp.org
テンプレートを表示

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

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

特徴

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

リリース

リリースバージョンは、メジャーバージョン・マイナーバージョン・アップデートバージョンで構成されている。

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

CakePHP 1.2

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

CakePHP 1.3

  • リリース日 : 2010年4月24日 (15年前)
  • 対応PHPバージョン : PHP4.3.2以降及びPHP5以降

CakePHP 2.0

  • リリース日 : 2011年10月16日 (14年前)
  • 対応PHPバージョン : PHP5.2.6以上
  • CakePHP 2.0.3
    • PHPUnit 3.6 に対応

CakePHP 2.1

  • リリース日 : 2012年3月5日 (14年前)
  • 対応PHPバージョン : PHP5.2.8以上

CakePHP 2.2

  • リリース日 : 2012年7月1日 (13年前)
  • 対応PHPバージョン : PHP5.2.8以上

CakePHP 2.3

  • リリース日 : 2013年1月28日 (13年前)
  • 対応PHPバージョン : PHP5.2.8以上

CakePHP 2.4

  • リリース日 : 2013年8月30日 (12年前)
  • 対応PHPバージョン : PHP5.2.8以上

CakePHP 2.5

  • リリース日 : 2014年5月13日 (11年前)
  • 対応PHPバージョン : PHP5.2.8以上

CakePHP 2.6

  • リリース日 : 2014年12月23日 (11年前)
  • 対応PHPバージョン : PHP5.2.8以上

CakePHP 2.7

  • リリース日 : 2015年7月12日 (10年前)
  • 対応PHPバージョン : PHP5.3.0以上

CakePHP 3.0

  • リリース日 : 2015年3月22日 (11年前)[6]
  • 対応PHPバージョン : PHP5.4.16以上
    • 新しいORMの導入
    • View Cellsクラスの導入

CakePHP 3.1

  • リリース日 : 2015年9月20日 (10年前)
  • 対応PHPバージョン : PHP5.4.16以上

CakePHP 3.2

  • リリース日 : 2016年1月29日 (10年前)
  • 対応PHPバージョン : PHP5.5.9以上

CakePHP 3.3

  • リリース日 : 2016年8月12日 (9年前)
  • 対応PHPバージョン : PHP5.5.9以上

CakePHP 3.4

  • リリース日 : 2017年2月12日 (9年前)
  • 対応PHPバージョン : PHP5.6.0以上

CakePHP 3.5

  • リリース日 : 2017年8月18日 (8年前)[7]
  • 対応PHPバージョン : PHP5.6.0以上

CakePHP 3.6

  • リリース日 : 2018年4月14日 (7年前)[8]
  • 対応PHPバージョン : PHP5.6.0以上

CakePHP 3.7

  • リリース日 : 2018年12月8日 (7年前)[9]
  • 対応PHPバージョン : PHP5.6.0以上

CakePHP 3.8

  • リリース日 : 2019年6月26日 (6年前)[10]
  • 対応PHPバージョン : PHP5.6.0以上

CakePHP 3.9

  • リリース日 : 2020年6月21日 (5年前)
  • 対応PHPバージョン : PHP5.6.0以上
  • 2022年12月15日までセキュリティ修正をリリース。[11]

CakePHP 4.0

  • リリース日 : 2019年12月15日 (6年前)[12]
  • 対応PHPバージョン : PHP7.2.0以上

CakePHP 4.1

  • リリース日 : 2020年7月5日 (5年前)
  • 対応PHPバージョン : PHP7.2.0以上

CakePHP 4.2

  • リリース日 : 2020年12月21日 (5年前)
  • 対応PHPバージョン : PHP7.2.0以上
    • PHP8の完全サポート

CakePHP 4.3

  • リリース日 : 2021年10月24日 (4年前)
  • 対応PHPバージョン : PHP7.2.0以上

CakePHP 4.4

  • リリース日 : 2022年6月7日 (3年前)
  • 対応PHPバージョン : PHP7.4.0以上

発音・読み方

脚注

外部リンク

Related Articles

Wikiwand AI