はじめに
PHPの世界ではフレームワークがさかんに発表され、次から次へと新興勢力が現れてきます。そんな中で大きなコミュニティに発展しているのがCakePHPフレームワークです。一部では、開発環境をいったんCakePHPからRuby on Railsに移行したものの、再びCakePHPに戻ってくるという「CakePHP回帰現象」も起こり始めています。CakePHPは、手軽に利用できるPHP言語にぴったりの「手軽に利用できるフレームワーク」です。フレームワークとは、先人の知恵をまとめ上げたものと言うことができます。その中にはどんなノウハウが蓄積されているでしょうか。PHP4/PHP5で使用できるRails風フレームワークCakePHPを使って、フレームワークの処理の流れを調べてみましょう。
対象読者
この記事は、CakePHPでの開発を始めた方が対象です。CakePHPに関する基本的な知識に関してはCodeZineの下記の記事を参照してください。
必要な環境
現時点での最新バージョンである、CakePHP1.1.11.4064のコードを使用します。CakePHPフレームワーク自体は、ApacheなどのWEBサーバ、PHP4.3.2以上からPHP5、そしてMySQLやPostgreSQLといったデータベースの環境で動きます。Apacheの「mod_rewrite」は必須ではありませんが、使えるほうが便利です。
記事のテーマ
通常、開発が終わると公開用サーバを用意します。その際、CakePHPを使っていると、本体をWEBに公開されない場所に置き、必要なフォルダのみを公開ディレクトリにして、セキュリティを高めることも可能です。しかし、URLの処理の流れを理解していないと、プロダクション設定にしたとたんに動作しなくなり、正しい設定が分からずにつまずく、ということがありえます。CakePHPはどのようにしてリクエストを各処理クラスに渡すところまでの作業を行っているのでしょうか。それを理解するには、
- Apache WEBサーバのmod_rewriteモジュール
- include_pathの技法
- PHPのバージョンによる使い分け
などの知識が必要です。