フレームワークを利用すると生産効率は驚くほど向上しますが、動作に関する理解が中途半端だと思わぬ場所でつまずいて途方にくれる可能性もあります。PHP4とPHP5の両方で動作するCakePHPフレームワークの内部の流れを追い、開発時にも公開時にもトラブルシューティングができるよう、CakePHP フレームワークの内部を理解するヒントをご紹介します。
はじめに
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のバージョンによる使い分け
などの知識が必要です。
この記事は参考になりましたか?
- CakePHPチュートリアル連載記事一覧
-
- CakePHP内の処理を理解する
- CakePHPフレームワークによる快速WEB開発
- この記事の著者
-
堂園 俊郎(ドウゾノ シュンロウ)
(株)コミュニケーション・ビジネス・アヴェニュー技術担当。著書「CakePHPガイドブック」。CentOSサーバによる大小のコールセンター立ち上げ業務のかたわら、オープンソースプロダクトのコンサルティングを行う日々。http://cakephp.jpの管理人。ブログ:「CakePHPのおいしい食べ方」http://cakephp.seesaa.net 、「trixbox/asterisk技術者の365/a VoIP engineer in Japan」http://douzo.seesaa.net など。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア


