携帯管理画面とCakePHPのフロー検討
CakePHPのフローとPrefix
/m/controllerで携帯画面、/admin/controller管理画面振り分けとしましたが、この2つを単純に組み合わせて/m/admin/controllerや/admin/m/controllerにできるものか?
CakePHPにアクセスして、各種設定を読み込み、セットされるフローを調べてみました。
基本情報として、一番詳しくまとまっていたのがここ。
http://bobch.in/cakephp/doku.php/dispatcher
adminの設定はapp/config/core.php、携帯の振り分け設定はapp/config/route.phpにセットして、どちらも単独では$this->params["prefix"]=admin あるいは mobile になる。
このprefixを設定する箇所が、cake/libs/router.phpで、ここを読み解いてみると、
$this->params["prefix"]は1種類しか設定できず、/m/adminならm、/admin/mならadminがprefixになるようです。
でも
Configure::write('Routing.admin', 'admin'); == Router::connect('/admin/:controller/:action/*', array('prefix' => 'admin'));
と同義なわけではなく、
Routing.admin荷設定した場合は、scaffoldの自動設定やauth.phpでアクション名の自動設定など、追加の初期設定が入る箇所あり。
PC/携帯で両管理画面にする際は、両方Routerの設定で等しく作るか、どちらかをメインとしてcore.phpで設定し、もう1つ(大抵は携帯でしょう)をRouterでmadmin=mobile_adminのように割り当てる方向かなと。
先にユーザ向け携帯表示を固めた方がよさそう。
Configの追加設定
core.phpに直追加しなくても、app/config/bootrap.phpで直書きあるいは追加設定ファイルを読み込みすれば、自動読込みされる。
http://php.sunvisor.net/2008/01/configure.html
app_controllerレベルでも読込みOK
http://www.1x1.jp/blog/2006/09/cakephp_config.html
http://bobch.in/cakephp/doku.php/dispatcher
によれば、読み込み順は
core.php→bootrap.php→app_controller.php
同じ設定を複数宣言すると、後だし優先。
既存の携帯管理画面
すでに公開されてる携帯管理システムを探すと、こんなのがありました
http://mobf.net/plugin/index.php
CMS用の記事管理画面システムで、目指している物とやや違いますが、参考になりそうなのでメモ