MVC のフォルダ分け

Posted by muchag | CakePHP |
初回投稿:2011-05-18 (水) 22:05:30 | 最終更新:2011-05-18 (水) 23:56:36

サイトの拡張が進むにつれ
MVC 各ディレクトリ内にファイルが群生することになる。
そこで、MVC 各ディレクトリ内を更に分化する手法を探してみた。

【環境】
[CakePHP] 1.3.8

MVC 各ディレクトリは、app ディレクトリ内に存在する。

M(モデル)
app ディレクトリ\models
V(ビュー)
app ディレクトリ\controllers
C(コントローラ)
app ディレクトリ\views

これらそれぞれの中で更に分化するには

app ディレクトリ\config\bootstrap.php

にて

  1. App::build(array(
  2.     'models' =>  array(
  3.         MODELS.'/hoge/',
  4.         ),
  5.     'views' => array(
  6.         VIEWS.'/moge/',
  7.         VIEWS.'/koge/',
  8.         VIEWS.'/toge/',
  9.         ),
  10.     'controllers' => array(
  11.         CONTROLLERS.'/foge/'
  12.         ),
  13.     )
  14. );

と記述してやればよい。

その際のアクセスの仕方は、これからお勉強。。。

参考元サイト:Iwano’s BRAVE STORY CakePHP1.3 で bootstrap.php をさわってみる

あれ? 今気がついた。
少なくともビューに関しては
最初からコントローラ毎にフォルダ分けして使うんでなかったっけ?
あれれ?
 

以前の手法

ちなみに以前のヴァージョンでの手法は
同じく

app ディレクトリ\config\bootstrap.php

において

  1. $modelPaths = array(
  2.     ROOT.DS.APP_DIR.DS.'models'.DS.'admins'.DS,
  3.     ROOT.DS.APP_DIR.DS.'models'.DS.'users'.DS,
  4.     ROOT.DS.APP_DIR.DS.'models'.DS,
  5. );
  6. $viewPaths = array(
  7.     ROOT.DS.APP_DIR.DS.'views'.DS.'admins'.DS,
  8.     ROOT.DS.APP_DIR.DS.'views'.DS.'users'.DS,
  9.     ROOT.DS.APP_DIR.DS.'views'.DS,
  10. );
  11. $controllerPaths = array(
  12.     ROOT.DS.APP_DIR.DS.'controllers'.DS.'admins'.DS,
  13.     ROOT.DS.APP_DIR.DS.'controllers'.DS.'users'.DS,
  14.     ROOT.DS.APP_DIR.DS.'controllers'.DS,
  15. );

あれ? ってことは、1.3.x での手法では
デフォルトディレクトリはどうなるのだろう・・・。

今は気力がないのでメモのみ。
検証は後日・・・。

Posted by muchag | CakePHP |
初回投稿:2011-05-18 (水) 22:05:30 | 最終更新:2011-05-18 (水) 23:56:36

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment