読み方 : ケイクピーエイチピー

CakePHP

概要

CakePHPとは、PHPでWebアプリケーションを開発するためのオープンソースのフレームワーク。MITライセンスに基づいてオープンソースとして提供されており、無償での利用や改変、商用利用も可能である。MVCアーキテクチャを基盤とし、「設定より規約」という設計思想のもとで効率的な開発を実現する。
CakePHPのイメージ画像

Webアプリケーションを「モデル」(Model)、「ビュー」(View)、「コントローラ」(Controller)の3層に分けて構築する「MVCアーキテクチャ」を採用する。モデルはデータベースの操作やデータ処理を、ビューは画面表示を、コントローラは両者を仲介して処理の流れを制御する。役割を分担することで、コードの保守性や再利用性が高まる。

開発効率を高める要素として「設定より規約」(CoC:Convention over Configuration)という思想を採用している。これはRuby言語によるWebアプリケーションフレームワーク「Ruby on Rails」から取り入れられた考え方で、ファイル名やクラス名、データベースのテーブル名などをあらかじめ定められた命名規則に沿わせることで、設定ファイルへの記述を最小限に抑える仕組みである。

「ArticlesController」や「ArticlesTable」「Article」といった名前から、コントローラやテーブルクラス、データを表すエンティティとしての構成が自動的に決まる。開発者が個別に細かい設定を書かなくても、規約通りに構成すればフレームワーク側が対応関係を判断してくれるため、実装に集中しやすくなる。

データベース操作にはORM(O/Rマッパー)の機能が組み込まれている。テーブルに対応するTableクラスと個々のレコードを表すEntityクラスを用い、複雑なSQL文を直接記述しなくてもクエリービルダーによる検索やテーブル間の関連付け、データの保存や更新、削除などをPHPのオブジェクトとして扱える。「ActiveRecord」と「DataMapper」の考え方を取り入れた構成となっており、入力データを検証するバリデーション機能やセキュリティ対策機能もあらかじめ備わる。

CakePHPには「Bake」と呼ばれるコマンドラインツールもあり、規約に従ったモデルやコントローラ、テンプレートなどのひな型を自動生成できる。定型的なコードの作成を省けるため、開発をより速く進められる。外部のライブラリに依存せず単体で導入できる構成も、多くの開発者に受け入れられてきた要因の一つである。

ビューのテンプレートファイルは、以前のバージョンでは拡張子「.ctp」を用いる「CTPファイル」と呼ばれていたが、現行バージョンでは標準的なPHPファイルとして扱われ、拡張子も「.php」に統一されている。ファイルの実体はHTMLに表示用のPHPコードを埋め込んだもので、通常はtemplates以下にコントローラ名とアクション名に対応する形で配置する。

(2026.9.11更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。