はじめに
PHPは、データベース(以下、DB)と連携する高機能なWebアプリケーションを容易に作成できるスクリプト言語です。現在、さらに短期間で効率的な開発を実現するために、さまざまなPHPフレームワークが公開され、開発環境が整いつつあります。今回は特に、Ruby On Railsに触発されて開発が始まり、なおかつ独自の発展を遂げているCakePHP(ケイク・ピー・エイチ・ピー)フレームワークを紹介します。PHPという言語の面白さや、フレームワークによる開発に興味を持っていただければと思います。
対象読者
PHPの基礎知識を持ち、フレームワークを利用した効率的なWeb開発に関心のある方。
必要な環境
CakePHPを利用するために必要な環境は次のとおりです。
- Linux、Windows、Macなどの各種OS環境
- Apache、LighttdなどのWebサーバー
- MySQLなどのDB(MySQL推奨)
- PHP4またはPHP5(PHP 4.3.2 以降)
なお、今回はWindows XP上で、Apache2、PHP 5.1、MySQL 4.1という構成で解説を行います。
PHPフレームワークの利点
PHPをそのまま使ってもプログラムは書けます。ではPHPフレームワークを利用すると、どのような利点があるでしょうか。
- コードを繰り返し書くことを極力避けることができる
- MVCアーキテクチャによる、機能の分離
- 将来的な拡張、変更に対応しやすい
- チーム作業を効率的に分担できる
- Ajax、その他の最新技術を反映させやすい
CakePHPフレームワークの利点
PHPはその手軽さからか、非常に多くのフレームワークがオープンソースで開発され、公開されています。日本でもEthnaやMapleという国産フレームワークが発表されていますし、PHPを開発しているZendもZend Frameworkの開発に乗り出しました。
そうした中で、CakePHPフレームワークの特長には次のようなものがあります。
- PHP4/PHP5の両方に対応(PHPのバージョンによってコードを読み分けて対応)
- PEARライブラリを必要としない
- O/Rマッピング(テーブルアソシエーション)
- CRUD(データの作成、読み込み、更新、削除)画面の自動生成
- ビューのキャッシュ機能で表示の高速化
- バリデーション(入力値検証)機能
- 生成されたSQL文のデバッグ機能
- 活発なコミュニティの存在
- Ajax、htmlなどの各種ヘルパー
- セキュリティ、セッション、リクエストなどのコンポーネント
- ACLによる認証システム
- データのサニタイズ
- 「vendor」ディレクトリで各種のPHPクラスを取り込める
CakePHPを利用していると、Ruby on Railsへ移行しやすくなります。また、Zend Frameworkやその他の各種のクラスを「vendor」フォルダに取り込んで利用することもできるので、修得コストが無駄になりません。さっそく CakePHPフレームワークを利用した開発に挑戦してみましょう。
インストール
CakePHPのインストールはいたって簡単です。cakephp.org からファイルをダウンロードし、解凍してWebサーバーに入れてください。開発用であればこれでOKです。そのアドレス(cakeを入れたいちばん上の階層)を見に行くと、インストールができたという表示が出るはずです。
その後、「app/config/database.php」の中にDBへの接続情報を書き込みます。再びアクセスし、DBに接続できるという表示が出るのを確認してください(なお、Apacheのmod_rewriteが利用できるように設定しておいてください。詳細はcakephp.jpに説明があります)。