- 2007-04-09
- php
同じmodel/actionに対して、一般ユーザ向け画面と管理者向け画面を分けたい時、CakePHPではAdmin Routingという選択肢があります。
4.4. 高度な Routing 設定: Admin Routing と Webservices
なんだけども、アプリケーションを分けてしまった方がすっきりする場合もあります。 分けてしまった場合でも、特にModelのクラスは同じもの使うことが多いです。こういう場合はファイルをコピーしなくても、app/config/bootstrap.phpでModelを検索するパスを$modelPaths 複数指定することができます。
同様に$viewPaths、$controllerPathsでビュー、コントローラをアプリケーション間で共有することができます。 app/config/bootstrap.phpのコメントにも説明がありますね。
/**
* The settings below can be used to set additional paths to models, views and controllers.
* This is related to Ticket #470 (https://trac.cakephp.org/ticket/470)
*
* $modelPaths = array('full path to models', 'second full path to models', 'etc...');
* $viewPaths = array('this path to views', 'second full path to views', 'etc...');
* $controllerPaths = array('this path to controllers', 'second full path to controllers', 'etc...');
*
*/
//EOF
$modelPaths = array(
'/path/to/app1/models/',
'/path/to/app2/models/',
);