dongtaijue1578 2014-03-28 10:27
浏览 42
已采纳

重定向用户以在视图助手中路由

In my View Helper, I need to redirect the user to route. Do you know how I can do that ?

My View helper :

namespace MyProject\View\Helper;

use Zend\View\Helper\AbstractHelper;
use Zend\Session\Container;
use Zend\Http\Response;


class Connected extends AbstractHelper
{

  public function __invoke()
  {

    $Session = new Container('base');
    $Response = new Response;

    if(!$Session->offsetExists('user_id'))
      return $Response->toRoute('auth');
  }

}

The php error:

PHP Fatal error:  Call to undefined method Zend\\Http\\Response::toRoute() in /SRV/www/firewall/ZendFramework/module/MyProject/src/MyProject/View/Helper/Connected.php on line 19

Thanks you for you help all ! Best regards,

  • 写回答

1条回答 默认 最新

  • douyingp82418 2014-03-28 13:38
    关注

    Thanks all, but I have solved my problem.

    I know is not the better solution but that work fine:

    class Connected extends AbstractHelper
    {
    
      private $global;
    
      public function __construct($global)
      {
        $this->global = $global;
      }
    
      public function __invoke()
      {
        # Call the container
        $Session = new Container('base');
    
        # If the session doesn't exist, we redirect the user
        if(!$Session->offsetExists('user_id'))
          header('Location: ' . $this->global['global']['url']);
    
      }
    
    }
    

    Thanks you all for your help !

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

报告相同问题?