dispatcher.php – $this->parseParams($url) (CakePHP解析 #9)

今回は$Route->parseから戻ってparseParamsメソッドの解析をします。

以前解析したように$Route->parse(‘users/login/aaaa/bbbb/cccc/dddd?a=A&b=B’)の戻り値は

下記のような配列になります。

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

この結果を$params変数が受け取っているわけですが、この$params変数は「$this->data」を保持する非常に重要な変数です。

下記のようにその後の処理でform値やurl値を取り込んでいます。

if (ini_get('magic_quotes_gpc') == 1) {
    if (!empty($_POST)) {
        $params['form'] = stripslashes_deep($_POST);
    }
} else {
    $params['form'] = $_POST;
}

次回はこの処理の中で使用されている「stripslashes_deep」関数を解析します。