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

まっちー

まっちー

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',
);

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

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

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

LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

プログラマのまっちーです。酒が大好きです。ある一定量のお酒を飲むと壊れたレディオモードに入り、同じことを繰り返す癖があります。宜しくお願いいたします。

このメンバーの記事をもっと読む
デザイン力×グローバルな開発体制でDXをトータル支援
お問い合わせ 会社概要DL