LIGのメルマガ、はじめました!
LIGのメルマガ、はじめました!

コントローラの中身をフォルダ分けする

まっちー

CakePHPのcontrollerは、どうやら階層を深くできるらしい。例えば、表示側と管理側でコントローラーを分けて見やすいように整理したい場合。

app/
  └controllers/
    ├admin/
    │  ├users_controller.php
    │  └topics_controller.php
    └home_controller.php

こんな感じにフォルダ分けしたりすることができる。

ただしこれだけだと正常な動作をしないので、bootstrap.phpに以下の設定を記述する必要がある。

$controllerPaths = array(
    ROOT.DS.APP_DIR.DS.'controllers'.DS.'admin'.DS,
    ROOT.DS.APP_DIR.DS.'controllers'.DS,  
);

ちなみにこれはコントローラーに限った話ではなくて、モデルやビューでも同様の設定はできる。

$modelPaths = array(
    ROOT.DS.APP_DIR.DS.'models'.DS.'admin'.DS,
    ROOT.DS.APP_DIR.DS.'models'.DS,
);

$viewPaths = array(
    ROOT.DS.APP_DIR.DS.'views'.DS.'admin'.DS,
    ROOT.DS.APP_DIR.DS.'views',
);

参考サイトさんはこちら。

http://d.hatena.ne.jp/yandod/20080510/1210416583

ところで、上のフォルダ構成っぽいのを記述しているところに使っている『└』『├』って、どうやって入力するんすかね? よく分かんないんで今回は適当なところからコピって来たんだけど……。

M o n g o