「CakePHP」基本情報
概要
CakePHP(ケイク ピーエイチピー)とは、PHP実装のWebアプリケーションフレームワークです。「PHP開発者が誰でも素早く快適に開発を行える」を目標として開発されています。
基本説明
CakePHPは、Webアプリケーションを「シンプルに」「少ないコードで」「迅速に」構築できるフレームワークです。
フレームワークとしての規模は比較的小さめで、小/中規模開発に向いている点で人気を得ています。
経緯
2005年3月、CakePHPプロジェクトが開始されました。
主な特徴
グローバルシェア
CakePHPは世界規模で最も多くのWebアプリケーションに導入されているPHPフレームワークです。
「Ruby on Rails」流開発コンセプト
CakePHPは、Ruby実装開発フレームワーク「Ruby on Rails」の概念の多くを取り入れており、「Rails流高速開発」と「PHP機動性」を兼ね備えています。
MVCモデル
CakePHPは、MVC(モデル/ビュー/コントロール)モデルを採用し、アプリケーション3層に分けて開発することでメンテナンス性を高めています。
オールイン
CakePHPの標準構成として、通常の開発として使用される主な機能がすべて含まれています。
また、標準ライブラリも充実しているため、高いレベルで開発者の要求に応えることができます。
「PHP4」と「PHP5」の両方に対応
CakePHPは、PHP4/PHP5の両方に対応しており、PHPのバージョンによってコードを読み分けて対応できます。
セキュリティ
CakePHPでは各種セキュリティ対策機能を利用できます。
・XSS対策
・CSRF対策
・フォーム改竄検知
・SQLインジェクション防止 など
CakePHPのコードベース自体は、Mozilla Secure Open Sourceプログラムを通じて監査されています。
充実した日本語ドキュメント
「リファレンスガイド」や「チュートリアル」などの充実した日本語ドキュメントが用意されています。
主な機能
フォームバリデーション機能
バリデーション(入力値検証)機能を利用すると、「数値チェック」や「パスワードの長さは8文字以上あること」などの定義を簡単に設定できます。
O/Rマッピング機能
O/Rマッピング(テーブルアソシエーション)とは、「PHP上のオブジェクト」と「データベース」を関連付ける機能で、短いコードでレコードの抽出や書き換えを行えます。
テーブル操作コントローラー機能「scaffolding」
「scaffolding」機能は、テーブルレコードの一覧/追加/編集/削除などを行うマスタ画面などを非常に簡単に開発できる機能です。
プログラム自動生成機能「bakeコマンド」
「bakeコマンド」を実行すると、次々と対話的に入力を求められ、答えていくことで、MVCモデルに沿ったPHPプログラムを自動生成できます。
その他の機能
・リクエストディスパッチャー機能(カスタムURLを実現)
・キャッシュ(ページ単位/部品単位)による高速化機能
・プラグイン機能拡張
・テンプレート継承/拡張機能
・SQL文デバッグ機能
・ACLによる認証システム
・Upgrade shell(下位バージョンからのアップグレードをサポート) など
同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「symfony」「Zend Framework」など。
オフィシャルサイト
オフィシャルサイト
ライセンス情報
CakePHPのライセンスはMIT Licenseです。
詳細について、こちらを参照ください。
→GitHub →cakephp/LICENSE.txt
ダウンロード
導入事例
→CakePHP →CakePHP Success Stories
参考元サイト
- CakePHP
- 侍エンジニア塾 →【5分でわかる】PHPのWEBフレームワーク「CakePHP」とは?
- Wikipedia →CakePHP
- PHPプロ! →PHPフレームワークとは? →CakePHPとは?
- Infratop magazine →【初心者向け】PHPフレームワークのCakePHPとは?徹底解説
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。