- 2008-07-15 (火) 22:48
今回は $Route->parseを更に解析する予定でしたが、正直何をしたいのかがいまいち分からない。どうやら$Routeオブジェクトの$routes配列にいろいろ突っ込んでいるようです。
一体どんな値を入れているのかだけ、出力して終了(>_<)
CakePHPのよく理解している人なら見当がつくのかな。
Router Object
(
[routes] => Array
(
[0] => Array
(
[0] => /
[1] => /^[\/]*$/
[2] => Array
(
)
[3] => Array
(
[controller] => schedules
[action] => index
)
)
[1] => Array
(
[0] => /pages/*
[1] => #^/pages(?:\/(.*))?[\/]*$#
[2] => Array
(
)
[3] => Array
(
[controller] => pages
[action] => display
)
)
[2] => Array
(
[0] => /tests
[1] => #^/tests[\/]*$#
[2] => Array
(
)
[3] => Array
(
[controller] => tests
[action] => index
)
)
[3] => Array
(
[0] => /bare/:controller/:action/*
[1] => #^/bare(?:\/([^\/]+))?(?:\/([^\/]+))?(?:\/(.*))?[\/]*$#
[2] => Array
(
[0] => controller
[1] => action
)
[3] => Array
(
[bare] => 1
)
)
[4] => Array
(
[0] => /ajax/:controller/:action/*
[1] => #^/ajax(?:\/([^\/]+))?(?:\/([^\/]+))?(?:\/(.*))?[\/]*$#
[2] => Array
(
[0] => controller
[1] => action
)
[3] => Array
(
[bare] => 1
)
)
[5] => Array
(
[0] => /:controller/:action/* (default)
[1] => /^(?:\/(?:([a-zA-Z0-9_\-\.\;\:]+)(?:\/([a-zA-Z0-9_\-\.\;\:]+)(?:[\/\?](.*))?)?))[\/]*$/
[2] => Array
(
[0] => controller
[1] => action
)
[3] => Array
(
)
)
)
[__admin] =>
[_log] =>
)
追記
$route配列をよくよく観察してみると、CakePHPの遷移処理を管理しているように見えますね。
下記の例だと
[0] => /
[1] => /^[\/]*$/
[2] => Array
(
)
[3] => Array
(
[controller] => schedules
[action] => index
)
おそらく[0]がルートパスを表していて、[1]が遷移に関する正規表現?、[2]はひとまず置いといて
[3]は実行するコントローラーとアクション。
[1]の正規表現は何を意味しているんだろう?
「/^[\/]*$/」にマッチするのって「/」とか「///」みたいに、ひたすらスラッシュの文字列だけのように思うんだけど。
もう少しCakePHP理解しないと、分からないかな。
コメント:0
トラックバック:0
- このエントリーへのトラックバックURL
- http://www.studio-kingdom.com/cakephp/cakephp_analysis/134/trackback