duanbo1659 2013-09-10 12:35
浏览 54
已采纳

ZF2在重定向时不使用参数

I have a problem with routing in my app.

$this->redirect('someone', array('controller' => 'account', 'action' => 'settings'));

It always redirects to app.dev/someone doesn't matter what is in array.

I have found that problem is in method assemble from TreeRouteStack.php

TreeRouteStack.php:347

$path = $this->baseUrl . $route->assemble(array_merge($this->defaultParams, $params), $options);

I tried "die" before this line to test $params - everything is ok. So die(implode(',',$params)); before code above returns

account, settings

But after this echo $path returns

/someone

instead of

/someone/account/settings

Where could be problem? I'm using ZF2 2.2.2

  • 写回答

1条回答 默认 最新

  • doutanghuan9595 2013-09-10 13:53
    关注

    Use

    $this->redirect()->toRoute(
        'someone',
         array('controller' => 'account', 'action' => 'settings')
    ); 
    

    instead of

    $this->redirect(
        'someone',
        array('controller' => 'account', 'action' => 'settings')
    );
    

    Please take a look at Redirect Plugin in zf2 docs

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?