携帯管理画面と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用の記事管理画面システムで、目指している物とやや違いますが、参考になりそうなのでメモ