[CakePHP]プラグイン三段活用が素晴らしすぎる

http://d.hatena.ne.jp/slywalker/20090523/1243059244

丁度バージョンの異なるコンポーネントやらヘルパーやらがあちこちに散らばって収集が付かなくなっていたところに目から鱗すぎる。。。

ということで早速実践。

自分の場合アプリはapps/以下にまとめてるので、bootstrap.phpの記述は

$pluginPaths = array(CAKE_CORE_INCLUDE_PATH . DS . 'plugins' . DS);

のように。*1

プラグインの設定ファイル

これまでプラグインの設定はプラグイン内に設置した設定ファイルで行っていたが、

プラグインを1つで共有する場合はそうはいかない。

ので、app/config/hoge.ini.phpのようにそれぞれのアプリのconfig内に設置、プラグインコントーラ、もしくはシェルから

config('hoge.ini');

のようにして読み込むようにする。

課題はここでもデータソース…

データソースはプラグイン内に置けないので、この中で管理できないorz

ConnectionManager#loadDataSourceを見てみたら、やはりapp/models/datasourcesとcake/lib/model/datasourcesしか読みに行かないぽい。

ConnectionManager上書きしか無いかなぁ…

*1:CAKE_CORE_INCLUDE_PATH=cakeコアディレクトリを含むディレクトリ