CakePHP をダウンロードして展開すると、次のようなファイルとフォルダが含まれているはずです:
app
lib
vendors
plugins
.htaccess
index.php
README
主要な三つのフォルダに注目してください:
app フォルダは、作成するプログラムが入る場所です。 あなたのアプリケーションのファイルはここに入れます。
lib フォルダは、開発チームが作成したプログラムが入る場所です。 このフォルダの中のファイルを勝手に編集 しない と誓ってください。 これはコア (心臓部分) で、ここをいじってしまうと、私たちはもう助けを差し伸べることができません。 代わりに アプリケーションの拡張 の修正方法を調べてください。
最後の vendors フォルダは、あなたが必要とする外部作成の PHP ライブラリを置いて、 CakePHP アプリケーションで使用できるようにする場所です。
アプリケーション開発の大部分は、CakePHP の app フォルダ内で行われます。 app の内部フォルダについて調べてみましょう。
CakePHP が使用する(数個の)設定ファイルが入る場所です。 データベース接続の詳細、ブートストラップ、コアの設定ファイルなどがここに入ります。
アプリケーションのコンソールコマンドやコンソールタスクを含みます。このディレクトリは、
bake の出力をカスタマイズするための Templates
ディレクトリも含みます。
詳しくは、 シェルとタスクとコンソール をご覧ください。
アプリケーションのコントローラとコンポーネントが入ります。
サードパーティ、外部ベンダからのライブラリではなく、ファーストパーティのライブラリが入ります。 これはベンダライブラリと内部ライブラリの構成を分割することを可能にします。
国際化のための文字ファイルが入ります。
アプリケーションのモデル、ビヘイビア、データソースが入ります。
プラグインパッケージが入ります。
このディレクトリは、アプリケーションの全てのテストケースやフィクスチャを含みます。
Test/Case
ディレクトリは、あなたのアプリケーションを反映し、あなたのアプリケーションの
クラスごとに1つかそれ以上のテストケースを含むべきです。
テストケースやフィクスチャの詳細は、 テスト をご覧ください。
CakePHP が一時的なデータを保管する場所です。保管される実際のデータは、CakePHP の 設定しだいですが、このフォルダは通常、モデルの内容デ ータや、ログの保管に使用されます。 時にはセッション情報も入ります。
確実にこのフォルダが存在し、書き込み可能であるようにしてください。 そうしないと、アプリケーションのパフォーマンスは激しく影響をうけることになります。 デバッグモードでは、CakePHP がそうなっているかどうかを警告してくれます。
外部(サードパーティ)で作成されたクラスやライブラリは、ここに置いてください。 そうすることで、App::import('vendor', 'name') で簡単にアクセス できるようになります。 注意深く見ている人は、これは重複しているのではないか、と言うかもしれません。 ディレクトリ構造のいちばん上にも vendors フォルダがあるからです。 この二つのフォルダの違いは、複数のアプリケーションを動作させて、 より複雑なシステムセットアップをする場合のことを考える際に取り扱います。
表示用のファイルはここに置きます。エレメント、エラーページ、ヘルパー、レイアウト、 ビューのファイルなどです。
運用時 (production) 用のセットアップでは、このフォルダがアプリケーションの ドキュメントルートになります。CSS スタイルシートや画像、JavaScript ファイルを入れるための フォルダもあります。