CakePHP2用の自動フォルダ探索プラグイン

CakePHP1では、ControllerやModel以下のphpファイルを階層化するために、その中にフォルダを作って入れても動くのですが、CakePHP2からは自動探索しなくなりました。


例えば、下記のように複数フォルダに分けてファイル管理する場合、

app/Contoroller/Admin/AdminController.php
app/Contoroller/User/UserController.php


CakePHP2では下記のように、bootstrap.phpでApp::build()を使って全てのフォルダを指定しないといけません。

App::build(array(
    'Controller' => array(
        '/app/Contoroller/Admin/', 
        '/app/Contoroller/User/'
    )
));

これってフォルダが増えるたびに定義を増やしていかないといけないので、この処理を自動的に行うプラグインを開発しました。現在はControllerとModelフォルダ以下を探索します。

AutoAppBuild for CakePHP 2.x
https://github.com/ichikaway/AutoAppBuild

インストール方法

gitからプラグインをダウンロードして、下記のように配置します。

app/Plugin/AutoAppBuild

次に、app/Config/bootstrap.phpに下記を記述します。

CakePlugin::load(array('AutoAppBuild' => array('bootstrap' => true)));


これだけです。
本番環境では自動探索じゃなくて、App::build()で定義しておきたいのであれば、

AutoAppBuild::dump();

を実行すると、コピー&ペースト用のApp::build()パスをダンプ出力します。