| 開発者 | Cake Software Foundation 社 |
|---|---|
| 初回リリース | 2005年4月 |
| 安定版リリース | 5.0.7 [1]
/ 2024-04-25 [±] |
| リポジトリ |
|
| 書かれた | PHP の |
| オペレーティング·システム | クロスプラットフォーム |
| プラットフォーム | PHP 8.1 以上 |
| 利用可能 | 多言語 |
| タイプ | ウェブフレームワーク |
| ライセンス | MITライセンス |
| Webサイト | ケーキphp.org |
CakePHPはオープンソースの ウェブフレームワークです。モデル・ビュー・コントローラ(MVC)アプローチを採用し、 PHPで書かれ、 Ruby on Railsの概念をモデルにしており、MITライセンスの下で配布されています。[2]
CakePHP は、設定より規約、モデル・ビュー・コントローラ、アクティブ レコード、関連データ マッピング、フロント コントローラなどのよく知られたソフトウェア エンジニアリングの概念とソフトウェア設計パターンを使用します。
歴史
CakePHPは2005年4月にポーランドのプログラマーMichal Tatarynowicz [3]がPHPで高速アプリケーション開発フレームワークの最小バージョンを書き、Cakeと名付けたことから始まりました。[4] [5] [6]彼はこのフレームワークをパブリックドメインライセンス(すぐにMITライセンスに変更されました)で公開し、オンライン開発者コミュニティに公開しました。[要出典]
2005年12月、L.マスターズとGJウッドワースはCakePHP関連の開発を促進するためにCakeソフトウェア財団を設立しました。[6]バージョン1.0は2006年5月にリリースされました。
このプロジェクトのインスピレーションの1つはRuby on Railsであり、そのコンセプトの多くを採用しています。コミュニティはその後成長し、いくつかのサブプロジェクトを生み出しました。[7] [8]
2009年10月、プロジェクトマネージャのウッドワースと開発者のN.アベールは、 Lithiumウェブフレームワーク(以前はCakePHPプロジェクトの一部)を含む独自のプロジェクトに集中するためにプロジェクトを辞任しました。残った開発チームは、以前に定義された元のロードマップに引き続き注力しました。[9]
特徴
プラグインを使用すると、開発者はコントローラー、モデル、ビュー、その他のクラスの組み合わせをパッケージ化して、複数のアプリケーションや他の開発者が再利用できるようになります。CakePHP 3以降では、Composerを使用してプラグインをインストールできるようになりました。[10]
CakePHP ORM(オブジェクトリレーショナルマッピング)は、アクティブレコードパターンとデータマッパーパターンの高度なPHPハイブリッドであり、両方のコアコンセプトを借用しています。CakePHP ORMは、データベーステーブルを表すテーブルクラスと個々のテーブル行を表すエンティティクラスの2つの主要なオブジェクトタイプを使用します。[11]
クエリビルダーは、新しいORMの補助としてCakePHP 3で導入されました。クエリビルダーは、SQLクエリを手動で記述する代わりにプログラムで構築するためのクラスとメソッドのセットを提供します。ORMはクエリビルダーを広範に使用します。[12]
ルーティングとリバース ルーティング。CakePHP ルーターは、複雑なHTTPアプリケーション ルーティングを可能にし、受信リクエストを適切なコントローラーとアクションにルーティングします。リバース ルーティングは、ルートとリンクの関係を作成し、リンクが常に正しいUniform Resource Locatorを使用して生成されるようにします。
ビュー セルは、ビュー ロジックを呼び出してテンプレートをレンダリングできる小さなミニ コントローラーを提供します。これらは、小さく再利用可能なページ コンポーネントを作成するのに最適です。
マイグレーションは、データベース スキーマのバージョン管理を提供します。これにより、アプリケーション ロジックの変更と対応するデータベースの変更が同期された状態を維持できます。これにより、CakePHP アプリケーションの展開だけでなく、複数の開発者チームでの開発も大幅に簡素化されます。CakePHP のマイグレーション ツールは、Phinx プロジェクトに基づいています。
自動ページ分割により、開発者は ORM またはクエリ ビルダーによって生成された結果セットを簡単にページ分割できます。
フォームビルダーとバリデーターは、データ型と検証の両方についてモデル層に結び付けられたフォームをプログラムで生成することを可能にします。 [13]
CakePHP Bakeは、アプリケーション、スケルトン、定型コードを自動的に生成するツールです。既存のデータベーススキーマを使用して正しいデータ関係とデータ型を推測し、それを使用してコントローラー、モデルオブジェクト、ビューテンプレートの完全なセットを生成します。コーディングなしで基本的なCRUDアプリケーションを生成できます。 [14]
会議
トレーニング
CakeDC がスポンサーとなっている公式オンライン トレーニング コース。毎月のライブ トレーニングでは、次のようなさまざまなトピックを取り上げます。
- 標準 CakePHP 2 トレーニング コース
- 標準 CakePHP 3 トレーニング コース
- 上級 CakePHP 3 トレーニング コース
- 標準 CakePHP 4 トレーニング コース
参照
参考文献
- ^ 「CakePHP 5.0.7 リリース」。CakePHPブログ。2024年 5 月 5 日閲覧。
- ^ 「CakePHP マニュアル - CakePHP の概要」 。2015年 3 月 9 日閲覧。
- ^ 「貢献者 - cakephp」. cakephp.lighthouseapp.com .
- ^ 「CakePHP入門 - 1.1」。book.cakephp.org。
- ^ “Cakephp:history_of_cakephp [Neurosciences]”. 2016年3月3日時点のオリジナルよりアーカイブ。2012年8月31日閲覧。
- ^ ab 「リスト」(PDF)www.cs.colorado.edu . 2019年7月1日閲覧。
- ^ 「CakeForge」。2009年9月8日時点のオリジナルよりアーカイブ。2009年9月5日閲覧。
- ^ 「TheChaw」。2009年9月5日閲覧。
- ^ “The Cake is Still Rising”. 2010年10月10日時点のオリジナルよりアーカイブ。 2009年10月25日閲覧。
- ^ 「プラグイン」 。 2020年3月13日閲覧。
- ^ "ORM" . 2020年3月13日閲覧。
- ^ 「クエリビルダー」。2020年3月13日閲覧。
- ^ 「フォームヘルパー」。2020年3月13日閲覧。
- ^ 「CakePHP 3: Bake by example」. 2010年8月31日. 2020年3月13日閲覧。
- ^ 「イベント」. cakefest.org . 2024年3月21日閲覧。
文献
- Munro, Jamie (2011 年 4 月 9 日)。CakePHP による迅速なアプリケーション開発 (第 1 版) 。Createspace。p . 170。ISBN 978-1-4609-5439-3. 2017年7月14日時点のオリジナルよりアーカイブ。2011年5月20日閲覧。
- Golding, David (2008 年 7 月 21 日)。『CakePHP 入門: 初心者からプロまで (第 1 版)』。Apress . p. 344。ISBN 978-1-4302-0977-5. 2011年1月12日時点のオリジナルよりアーカイブ。2009年6月12日閲覧。
- Chan, Kai; Omokore, John; Miller, Richard (2008 年 12 月 2 日)。実践 CakePHP プロジェクト (第 1 版) 。Apress。p . 400。ISBN 978-1-4302-1578-3. 2010年12月23日時点のオリジナルよりアーカイブ。2009年6月12日閲覧。
- Watts, James; González, Jorge (2014 年 8 月 5 日)。CakePHP 2 アプリケーション クックブック (第 1 版)。packtpub。p. 346。ISBN 9781782160083. 2014年8月5日閲覧。
外部リンク
- 公式サイト
- GitHub上の CakePHP
- CakePHP 2 アプリケーション クックブック
