CakePHPのフォルダ構造

CakePHPをダウンロードして展開すると、次のようなファイルとフォルダが含まれているはずです。

  • app

  • cake

  • vendors

  • plugins

  • .htaccess

  • index.php

  • README

主要な三つのフォルダに注目してください。

  • app フォルダは、作成するプログラムが入る場所です。あなたのアプリケーションのファイルはここに入れます。

  • cake フォルダは、開発チームが作成したプログラムが入る場所です。このフォルダの中のファイルを勝手に編集しないと誓ってください。これはコア (心臓部分) で、ここをいじってしまうと、私たちはもう助けを差し伸べることができません。

  • 最後の vendors フォルダは、あなたが必要とする外部作成の PHP ライブラリを置いて、CakePHP アプリケーションで使用できるようにする場所です。

App フォルダ

アプリケーション開発の大部分は、CakePHP の app フォルダ内で行われます。app の内部フォルダについて調べてみましょう。

config

CakePHP が使用する(数個の)設定ファイルが入る場所です。データベース接続の詳細、ブートストラップ、コアの設定ファイルなどがここに入ります。

controllers

アプリケーションのコントローラとコンポーネントが入ります。

libs

サードパーティ、外部ベンダからのライブラリではなく、ファーストパーティのライブラリが入ります。これはベンダライブラリと内部ライブラリの構成を分割することを可能にします。

locale

国際化のための文字ファイルが入ります。

models

アプリケーションのモデル、ビヘイビア、データソースが入ります。

plugins

プラグインパッケージが入ります。

tmp

CakePHP が一時的なデータを保管する場所です。保管される実際のデータは、CakePHP の設定しだいですが、このフォルダは通常、モデルの内容デ ータや、ログの保管に使用されます。時にはセッション情報も入ります。

確実にこのフォルダが存在し、書き込み可能であるようにしてください。そうしないと、アプリケーションのパフォーマンスは激しく影響をうけることになります。デバッグモードでは、CakePHPがそうなっているかどうかを警告してくれます。

vendors

外部(サードパーティ)で作成されたクラスやライブラリは、ここに置いてください。そうすることで、App::import('vendor', 'name') で簡単にアクセス できるようになります。注意して観察している人は、これは重複しているのではないか、と言うかもしれません。ディレクトリ構造のいちばん上にも vendors フォルダがあるからです。この二つのフォルダの違いは、複数のアプリケーションを動作させて、より複雑なシステムセットアップをする場合のことを考える際 に扱いましょう。

views

表示用のファイルはここに置きます。エレメント、エラーページ、ヘルパー、レイアウト、ビューのファイルなどです。

webroot

運用時(production)用のセットアップでは、このフォルダがアプリケーションのドキュメントルートになります。CSS スタイルシートや画像、JavaScript を入れるためのフォルダもあります。