CakePHPディレクトリ構成

フォルダ構成

Pocket

CakePHPをダウンロードして解凍するとCakePHPのソース群が入ったフォルダが作成されます。初めて見る場合どこから手をつけてよいか分からない程たくさんのファイルやフォルダがあるので、ここではCakePHPのフォルダ構成について第1階層〜第3階層にわけて解説したいと思います。

CakePHPの処理機構はこちら

 第1階層

フォルダ構成は以下

  • app/
  • lib/

「app」以下が開発者がカスタマイズする場所です。「app」以外のソースに変更を加えてはいけません。
「lib」以下はCakePHPのエンジンです。絶対に書き換えてはいけません。ただ、CakePHPも究極的にはただのPHPなので、この様に「lib」の下のソースを見る事でデバッグ時にはおおいに役に立ちます。

第2階層(app以下のみ解説します)

app/配下のフォルダ構成と分類を紹介します。

【設定用フォルダ】

  • Config/

【MVCデザインアプリケーション】

  • Model/
  • View/
  • Controller/

【仮想のドキュメントルート】

  • webroot/

【ライブラリ/プラグイン配置】

詳しくはこちらの記事

  • Lib/
  • Vendor/
  • Plugin/

【国際化の文字ファイル】

  • Locale/

【コンソール機能】

  • Console/

【テストケース設定用】

  • Test/

【CakePHPが利用するファイル】

  • tmp/
  • index.php

慣れない内は設定用フォルダMVCデザインアプリケーション仮想ドキュメントルートだけ意識してしっかり基礎を理解しよう。

第3階層 – MVC関連

  • app/Controller/Component/
  • app/Model/Behavior/
  • app/View/Helper/

これらはそれぞれにおける共通機能を配置する場所。例えば、コントローラーの共通機能はコンポーネントに、モデルの共通機能はビヘイビアに、そしてビューの共通機能はヘルパーに置くようにする。

第3階層 – view以下

app/View/配下のフォルダ構成

  • Elements/
  • Emails/
  • Errors/
  • Helper/
  • Layouts/
  • Metric/
  • Pages/
  • Scaffolds/
  • コントローラに対応するフォルダ/

初期段階では特に、LayoutsElementsHelperコントローラに対応するフォルダを確実に理解し使いこなそう。

Layouts: Webサイト全体の共通レイアウトを管理
Elements: サイト内で繰り返し使われるパーツを管理
Helper: 複数のビューで共通的に使うクラス
コントローラに対応するフォルダ: ページ毎のレイアウト

記事が役に立ったらぜひシェアをお願いします。

Pocket

3 thoughts on “フォルダ構成”

Comments are closed.