CakePHP: PHP用のWebアプリケーションを効率よく作成するためオープンソースのフレームワーク

CakePHPとは、オープンソースで開発されたPHP用のフレームワークです。アプリケーションの開発、メンテナンス、インストールのための拡張性の高い仕組みを提供します。Ruby on Railsの影響を強く受けており,Webアプリケーションを高速に開発するための仕掛けが随所に盛り込まれています。「設定より規約優先」の考え方で利用して、CakePHPは開発コストや開発者が書く必要のあるコードを減らします。

次はメインな機能:

  • 複雑な設定なし – データベースを設定するだけで、マジックが始まります。
  • 簡単シンプル – 名前を見たって、…Cakeだし。
  • アクティブ、親切なコミュニティ – 英語は #cakephp on IRC。日本語はcakephp.jp。
  • 柔軟なライセンス – MITライセンスで配布しています。
  • Clean IP – CakePHPの全コードはCakePHP開発チームによるものです。
  • ベストプラクティス – セキュリティ、認証、セッションハンドリング、その他をカバー。
  • OO – オブジェクト指向の熟練者でも、初心者でも快適に

CakePHP

CakePHP フレームワークはアプリケーションの強力な基礎部分を提供します。CakePHP はユーザが起こすあらゆる種類のリクエストから、最終的にウェブページをレンダリングするまでの全ての側面をハンドルします。そしてこのフレームワークは MVC の原則に従っているため、アプリケーションを多くの側面で簡単にカスタマイズし拡張することができます。

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

CakePHPを使いたくなる特徴は5つあります。

●習得までの時間が短い

フレームワークの習得にはどうしても時間がかかりますが,フレームワークの中では最短級の時間で習得することが出来た方は多いです。習得が短く済んだ理由を考えてみたところ,いくつか思い当たるふしがありました。

●設置が簡単かつ外部ライブラリに依存しない

CakePHPはパッケージをFTPでアップロードするだけで動作します。PHPが動作する標準的なレンタルサーバーであればたいてい動作するでしょう。また,PEARなどの外部ライブラリを一切必要としません。もちろん今までどおりPEARなどを利用することもできますので,使い慣れたライブラリを手放す必要はありません。

●PHP4と5の両方で動作する

多くのフレームワークはPHP4と5のどちらか専用だったり,バージョンによって動作対象が変わりますが,CakePHPはそのままでPHP4でも 5でも動作します。また,PHP6でも動作する予定となっています。ちなみにコアライブラリの中にmodel_php4.phpと model_php5.phpというファイルがあり,PHPのバージョンによってコードを分けている部分があることがわかります。

●病みつきになるActiveRecordパターンのO/Rマッパー

CakePHPのO/Rマッパー(オブジェクト志向における,オブジェクトとリレーショナルデータベースを関連付けするための仕掛け)はActiveRecordパターンを採用しており,SQL文を書くことなく非常に短い記述でレコードの抽出や書き換えが行えます。

さらにアソシエーション(関連付け)を記述することで,関連したテーブルの情報を自動的に取得できます。

●ビュー部分がピュアPHPである

CakePHPのMVCでいうビュー部分において,コントローラからセットされた値を表示するときは <?php echo h($title) ?>(hはhtmlspecialcharsの代替関数。CakePHPで予め定義されている)といったように,生のPHPコードを埋め込みます。

【関連リンク】

http://cakephp.org/ 公式サイト

http://book.cakephp.org/ja マニュアル(日本語)

Leave a Reply

Your email address will not be published. Required fields are marked *