Home > CakePHP解析 > dispatcher.php – $Route->parse【その壱】 (CakePHP解析 #7)

dispatcher.php – $Route->parse【その壱】 (CakePHP解析 #7)

今回は「/cake/dispatcher.php」を解析してます。(めちゃめちゃ手強そう…)
このファイルはbootstrap.phpでrequireされた後に、「app/webroot/index.php」で
インスタンス化され、dispatchメソッドにURLリクエスト変数を渡しています。

$Dispatcher = new Dispatcher();
$Dispatcher->dispatch($url);

で、dispatcher.phpでは引数の$url変数をプライベートメソッドで何かしています。

$params = array_merge($this->parseParams($url), $additionalParams);

parseParams()メソッドの動きを追ってみます。
すると今度はRouteクラスのparseメソッドに引き渡されました。

$Route = new Router();
include CONFIGS.'routes.php';
$params = $Route->parse ($from_url);

しつこく、Routeクラスが定義されている「cake/libs/router.php」を追ってみます。
これまた、複雑そうな処理がずらずら出てきてしまいました。
なんか、面倒になってきたので一旦この辺で区切ろうと思います。

ちなみに適当なファイルに下記のような処理をほどこしたところ…

$Route = new Router();
include CONFIGS.'routes.php';
$params = $Route->parse ('users/login/aaaa/bbbb/cccc/dddd?a=A&b=B');

pr($params);    //結果出力

このような結果が返ってきました。

Array
(
    [pass] => Array
        (
            [0] => aaaa
            [1] => bbbb
            [2] => cccc
            [3] => dddd
        )
    [controller] => users
    [action] => login
)

次回は、更につっこんで解析してみます。

コメント:0

コメントフォーム
Remember personal info

トラックバック:0

このエントリーへのトラックバックURL
http://www.studio-kingdom.com/cakephp/cakephp_analysis/132/trackback

Home > CakePHP解析 > dispatcher.php – $Route->parse【その壱】 (CakePHP解析 #7)

検索
フィード
メタ
お城
STUDIO KINGDOM

Return to page top