CakePHP のフォルダ構造

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

  • app
  • lib
  • vendors
  • plugins
  • .htaccess
  • index.php
  • README

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

  • app フォルダは、作成するプログラムが入る場所です。 あなたのアプリケーションのファイルはここに入れます。
  • lib フォルダは、開発チームが作成したプログラムが入る場所です。 このフォルダの中のファイルを勝手に編集 しない と誓ってください。 これはコア (心臓部分) で、ここをいじってしまうと、私たちはもう助けを差し伸べることができません。 代わりに アプリケーションの拡張 の修正方法を調べてください。
  • 最後の vendors フォルダは、あなたが必要とする外部作成の PHP ライブラリを置いて、 CakePHP アプリケーションで使用できるようにする場所です。

App フォルダ

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

Config
CakePHP が使用する(数個の)設定ファイルが入る場所です。 データベース接続の詳細、ブートストラップ、コアの設定ファイルなどがここに入ります。
Console
アプリケーションのコンソールコマンドやコンソールタスクを含みます。このディレクトリは、 bake の出力をカスタマイズするための Templates ディレクトリも含みます。 詳しくは、 シェルとタスクとコンソール をご覧ください。
Controller
アプリケーションのコントローラとコンポーネントが入ります。
Lib
サードパーティ、外部ベンダからのライブラリではなく、ファーストパーティのライブラリが入ります。 これはベンダライブラリと内部ライブラリの構成を分割することを可能にします。
Locale
国際化のための文字ファイルが入ります。
Model
アプリケーションのモデル、ビヘイビア、データソースが入ります。
Plugin
プラグインパッケージが入ります。
Test
このディレクトリは、アプリケーションの全てのテストケースやフィクスチャを含みます。 Test/Case ディレクトリは、あなたのアプリケーションを反映し、あなたのアプリケーションの クラスごとに1つかそれ以上のテストケースを含むべきです。 テストケースやフィクスチャの詳細は、 テスト をご覧ください。
tmp

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

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

Vendor
外部(サードパーティ)で作成されたクラスやライブラリは、ここに置いてください。 そうすることで、App::import(『vendor』, 『name』) で簡単にアクセス できるようになります。 注意深く見ている人は、これは重複しているのではないか、と言うかもしれません。 ディレクトリ構造のいちばん上にも vendors フォルダがあるからです。 この二つのフォルダの違いは、複数のアプリケーションを動作させて、 より複雑なシステムセットアップをする場合のことを考える際に取り扱います。
View
表示用のファイルはここに置きます。エレメント、エラーページ、ヘルパー、レイアウト、 ビューのファイルなどです。
webroot
運用時 (production) 用のセットアップでは、このフォルダがアプリケーションの ドキュメントルートになります。CSS スタイルシートや画像、JavaScript ファイルを入れるための フォルダもあります。