CakePHP

Webアプリケーションフレームワークの一つ

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

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

歴史編集

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日 (12年前) (2008-12-25)
  • 対応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日 (11年前) (2010-04-24)
  • 対応PHPバージョン : PHP4.3.2以降及びPHP5以降

CakePHP 2.0編集

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

CakePHP 2.1編集

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

CakePHP 2.2編集

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

CakePHP 2.3編集

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

CakePHP 2.4編集

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

CakePHP 2.5編集

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

CakePHP 2.6編集

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

CakePHP 2.7編集

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

CakePHP 3.0編集

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

CakePHP 3.1編集

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

CakePHP 3.2編集

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

CakePHP 3.3編集

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

CakePHP 3.4編集

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

CakePHP 3.5編集

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

CakePHP 3.6編集

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

CakePHP 3.7編集

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

CakePHP 3.8編集

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

CakePHP 3.9編集

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

CakePHP 4.0編集

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

発音・読み方編集

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

脚注編集

  1. ^ Release CakePHP 4.2.2 released · cakephp/cakephp · GitHub” (英語). 2021年1月8日閲覧。
  2. ^ [PHPウォッチ]第38回 人気フレームワークCakePHP,国内初のカンファレンス開催”. ITPro (2009年1月27日). 2014年4月8日閲覧。
  3. ^ =Top Websites Using CakePHP/cakephp”. 2020年1月28日閲覧。
  4. ^ =Top Websites Using Laravel/laravel”. 2020年1月28日閲覧。
  5. ^ http://bakery.cakephp.org/articles/gwoo/2008/12/25/the-gift-of-1-2-final
  6. ^ 末岡洋子 (2015年3月24日). “「CakePHP 3.0」リリース、ORMを刷新”. OSDN Corporation. 2015年9月3日閲覧。
  7. ^ markstory (2017年8月18日). “CakePHP 3.5.0 Released” (英語). CakePHP. 2017年11月7日閲覧。
  8. ^ markstory (2018年4月14日). “CakePHP 3.6.0 Released” (英語). CakePHP. 2018年5月24日閲覧。
  9. ^ markstory (2018年12月8日). “CakePHP 3.7.0 Released” (英語). CakePHP. 2019年8月12日閲覧。
  10. ^ markstory (2019年6月26日). “CakePHP 3.8.0 Released” (英語). CakePHP. 2019年8月12日閲覧。
  11. ^ 3.x Maintenance Mode” (英語). GitHub. 2021年1月26日閲覧。
  12. ^ markstory (2019年12月15日). “CakePHP 4.0.0 Released” (英語). CakePHP. 2019年12月27日閲覧。

外部リンク編集