关于phalcon routes config,它是设计错误吗?

时间:2014-08-31 02:20:45

标签: url routes router phalcon

$config = array(
    'best-url' => array(
        'pattern' => '/best',
        'paths' => array(
            'controller' => 'cate',
            'action' => 'index?cate_id=1',
        ),
    ),
    'better-url' => array(
        'pattern' => '/better',
        'paths' => array(
            'controller' => 'cate',
            'action' => 'index?cate_id=2',
        ),
    ),
    'cate-url' => array(
        'pattern' => '/cate/index/:int',
        'paths' => array(
            'controller' => 'cate',
            'action' => 'index',
            'cate_id' => '1'
        ),
    )
);

我要求,将网址映射到cate_id,如/ best - > / cate / index?cate_id = 1,/ better - > / cate / index?cate_id = 2,我不知道如何配置我的路由,我已经解决了上面的问题,但是当我使用它时我需要它自动反向路由 $url->get('for'=>'cate-url','cate_id'=>1) 它无法创建像/ best或/更好的URL。         我该怎么解决呢,谢谢。

1 个答案:

答案 0 :(得分:0)

正如@Arius所说,代码应如下所示,请务必查看routing the documentation

'best-url' => array(
    'pattern' => '/best',
    'paths' => array(
        'controller' => 'cate',
        'action' => 'index,
        'params' => array('cate_id'=>1)
    ),
)

另外,请确保设置基础uri:

$di->set('url', function(){
    $url = new Phalcon\Mvc\Url();
    $url->setBaseUri('/');
    return $url;
});

PS:我从来没有见过如你所示配置路线的方式。通常它的设置如下。我假设您通过$config进行迭代并在代码中的某处将它们添加到更远的地方?

//Define a route
$router->add(
    "/best",
    array(
        'controller' => 'cate',
        'action' => 'index,
        'params' => array('cate_id'=>1)
    )
);