CakePHP根据请求参数创建URL

时间:2013-10-05 16:12:15

标签: cakephp

是否有一个函数可以在给定请求对象的情况下生成相应的URL?

例如,如果请求参数值为:

params => array(
        'plugin' => 'plugin',
        'controller' => 'foo',
        'action' => 'bar',
        'named' => array(),
        'pass' => array()
    )
    data => array()
    query => array(
                'key' => 'val'
        )
)

然后,生成URL:

http://domain.com/plugin/foo/bar?key=val

2 个答案:

答案 0 :(得分:4)

这是否符合您的需求当然取决于您,但通常Router::reverse()能够从请求对象构建一个URL:

Router::reverse($cakeRequestObject, true)

这很像Router::url(),但它会为你做所有肮脏的工作,比如包括查询值和删除不必要的参数。

答案 1 :(得分:0)

就像这样使用Router :: reverse():

$url = Router::reverse($this->params);
echo $url;