Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

CakePHP内の処理を理解する

PHPフレームワークの処理の流れを追う

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2006/12/18 00:00

フレームワークを利用すると生産効率は驚くほど向上しますが、動作に関する理解が中途半端だと思わぬ場所でつまずいて途方にくれる可能性もあります。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はどのようにしてリクエストを各処理クラスに渡すところまでの作業を行っているのでしょうか。それを理解するには、

  1. Apache WEBサーバのmod_rewriteモジュール
  2. include_pathの技法
  3. PHPのバージョンによる使い分け

 などの知識が必要です。

日本語マニュアルも整備中です。
日本語マニュアルも整備中です。

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 堂園 俊郎(ドウゾノ シュンロウ)

    (株)コミュニケーション・ビジネス・アヴェニュー技術担当。著書「CakePHPガイドブック」。CentOSサーバによる大小のコールセンター立ち上げ業務のかたわら、オープンソースプロダクトのコンサルティングを行う日々。http://cakephp.jpの管理人。ブログ:「CakePHPのおいしい食べ方...

バックナンバー

連載:CakePHPチュートリアル
All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5