| ケーキPHP | |
|---|---|
| 開発者 | Cake Software Foundation, Inc. |
| 初回リリース | 2005年4月 (2005-04) |
| 安定版リリース | 5.3.0 [ 1 ] |
| リポジトリ | |
| 書かれた | PHP |
| オペレーティング·システム | クロスプラットフォーム |
| プラットフォーム | PHP 8.1以上 |
| 入手可能な | 多言語対応 |
| タイプ | ウェブフレームワーク |
| ライセンス | MITライセンス |
| Webサイト | cakephp.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. MastersとGJ WoodworthはCakePHP関連の開発を促進するためにCake Software Foundationを設立しました。[ 6 ]バージョン1.0は2006年5月にリリースされました。
このプロジェクトのインスピレーションの一つは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(URL)を使用して生成されるようにします。
ビューセルは、ビューロジックを呼び出し、テンプレートをレンダリングできる小型のミニコントローラーを提供します。これは、小さく再利用可能なページコンポーネントを作成するのに最適です。
マイグレーションは、データベーススキーマのバージョン管理を提供します。これにより、アプリケーションロジックの変更とそれに対応するデータベースの変更が常に同期されます。これにより、CakePHPアプリケーションのデプロイメントだけでなく、複数の開発者で構成されるチームでの開発も大幅に簡素化されます。CakePHPのマイグレーションツールは、Phinxプロジェクトに基づいています。
自動ページ付けにより、開発者は ORM またはクエリ ビルダーによって生成された結果セットを簡単にページ付けできます。
フォームビルダーとバリデーターは、データ型と検証の両方においてモデル層に結び付けられたフォームをプログラム的に生成することを可能にする。 [ 13 ]
CakePHP Bakeは、アプリケーション、スケルトン、ボイラープレートコードを自動生成するツールです。既存のデータベーススキーマを用いて正しいデータ関係とデータ型を推測し、それに基づいてコントローラー、モデルオブジェクト、ビューテンプレートのフルセットを生成します。コーディングなしで基本的なCRUDアプリケーションを生成できます。 [ 14 ]
会議
| 年[ 15 ] | 位置 |
|---|---|
| 2025 | マドリード、スペイン |
| 2024 | エシュ=シュル=アルゼット、ルクセンブルク |
| 2023 | ロサンゼルス、米国 |
| 2022 | バーチャル |
| 2021 | バーチャル |
| 2020 | バーチャル |
| 2019 | 東京、日本 |
| 2017 | ニューヨーク、ニューヨーク州、アメリカ合衆国 |
| 2016 | アムステルダム、オランダ |
| 2015 | ニューヨーク、ニューヨーク州、アメリカ合衆国 |
| 2014 | マドリード、スペイン |
| 2013 | サンフランシスコ、カリフォルニア州、米国 |
| 2012 | マンチェスター、イギリス |
| 2011 | マンチェスター、イギリス |
| 2010 | シカゴ、イリノイ州、米国 |
| 2009 | ベルリン、ドイツ |
| 2008 | ブエノスアイレス、アルゼンチン |
| 2008 | オーランド、フロリダ州、米国 |
参照
参考文献
- ^ 「CakePHP 5.3.0 リリース」 2026年1月9日。
- ^ 「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日閲覧。
- ^ a b「リスト」(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日閲覧。
参考文献
- マンロー、ジェイミー(2011年4月9日)『CakePHPによる迅速なアプリケーション開発』(第1版)Createspace、170ページ。ISBN 978-1-4609-5439-3. 2017年7月14日時点のオリジナルよりアーカイブ。2011年5月20日閲覧。
- ゴールディング、デイビッド(2008年7月21日)『CakePHP入門:初心者からプロまで』(第1版)Apress社、344ページ。ISBN 978-1-4302-0977-5. 2011年1月12日時点のオリジナルよりアーカイブ。2009年6月12日閲覧。
- チャン・カイ、オモコレ・ジョン、ミラー・リチャード(2008年12月2日)『実践CakePHPプロジェクト』(第1版)Apress社、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. 2020年1月28日時点のオリジナルよりアーカイブ。2014年8月5日閲覧。