技術情報

PHPフレームワーク「CakePHP」とは

PHP製Webアプリケーションフレームワーク「CakePHP」について紹介します。

CakePHPを使ったオフショア開発は、こちらへ

「CakePHP」の概要

「CakePHP」とは

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

CakePHPは「あらゆるレベルのPHPユーザが、素早く快適に開発を行えること」を目標として産み出されたRAD型フレームワークで、小/中規模開発に適正があるとされています。

基本説明

CakePHPは、世界規模で多くのWebアプリケーションに導入されているPHPフレームワークです。ユーザ要求に応えることができる機能を持ち、初心者が導入しやすいようにサーバ設定変更/動作環境整備がほとんど必要ないように作られています。

ファイル名/データベーステーブル名に関する基本的な組織的構造を提供しており、アプリケーション全体を矛盾なく論理的に保ちます。この単純で強力なコンセプトにより、規約に従うことで、どこに何があって、それらがどのようにリンクしているのかについて確実に把握できます。

CakePHPは、ユーザが起こすあらゆる種類のリクエストから、最終的にウェブページをレンダリングするまでの、すべての側面をハンドリングします。また、MVCの原則に従っているため、多くの側面で簡単にカスタマイズでき、拡張させることができます。

Rails流でPHPの開発が行えます。PHPでのWebアプリケーション開発において、Railsの考え方や流儀を感じ取れます。

 

主な機能

PHPバージョン 4と5に対応
MVCアーキテクチャ
データベースCRUD機能
アプリケーションのscaffolding(足場組み)機能
リクエストディスパッチャー機能(クリーンでカスタマイズ可能なURLsとroutes)
バリデーション機能
高速で柔軟性のあるテンプレートシステム(PHP構文、各種ヘルパー)
各種Viewヘルパー(AJAX、JavaScript、HTMLフォームなど)
各種コンポーネント(Eメール、Cookie、セキュリティ、セッション、リクエストハンドリングなど)
柔軟なACL
データサニタイズ機能
柔軟なキャッシュ機能
ローカライゼーション機能

 

主な特徴

アプリケーション固有のロジックに集中できる

CakePHPは、Webアプリケーション開発から単調な作業を取り除きます。新しいプロジェクトを開始する時には、CakePHPのコピーをチェックアウトして、すぐに、本当にやるべきアプリケーション固有のロジックに関するコーディングに集中できます。

アクティブな開発体制

開発チームとコミュニティがアクティブに活動しており、常に改良され続けています。

「Ruby on Rails」に影響を受けたフレームワーク

CakePHPは、「Ruby on Rails」思想に強い影響を受けて開発されています。ActiveRecord(データベースアクセス用コードを書かずにデータベースを扱う機能)、scaffolding機能(Create,Read,Update,Deleteなどの動作を自動的に提供する機能)などにより、高速開発を可能としています。

PHP4、PHP5両方で動作

CakePHPは、動作中のPHPのバージョンにより使用するクラスを切り替えて動作する仕組みを持っているため、PHP4でもPHP5でも動作させることができます。

外部ライブラリを必要としない

CakePHPは、PEAR(PHP標準ライブラリ)や、その他のライブラリ機能を必要としません。パッケージをFTPでアップロードするだけで動作します。

豊富な標準ライブラリ

CakePHPには、ライブラリとして再利用可能なロジックが大量に用意されています。

習得しやすい

「日本語に翻訳された優れたチュートリアルがある」「標準のエラーメッセージがやけに親切」「日本語CakePHPフォーラムが充実」などの理由で、習得しやすい環境が整えられています。

 

まとめ

CakePHPは、「Rails流高速開発」、「充実した各種サポート機能」、「親切な初心者への気配り」などの理由で、非常に多くのPHPアプリケーション開発に利用されています。PHPフレームワークの採用検討対象として外せないだけの実力があります。

 

CakePHPを使ったオフショア開発は、こちらへ

About the author: matsumoto