2016-12-12 2 views
0

Есть ли подходящий метод для выполнения перенаправления внутри Application Module class с использованием zend framework?выполнить перенаправление из класса модуля onbootstrap метод

Я хотел бы восстановить этот код, чтобы использовать перенаправление на основе zend.

class Moudle 
{ 

     public function onBootstrap(MvcEvent $e) 
     { 
     $arg = 1; 
     if($arg==1){ 
      header("Location: index.php?redirect=1"); 
      exit(); 
     } 
     } 

ответ

0

Я не знаю, как это делают другие, но вот пример того, что я уже сделал в проекте:

class Module 
{ 

    public function onBootstrap(MvcEvent $e) 
    { 
    $arg = 1; 
    if($arg==1){ 
     $response = $e->getResponse(); 
     $response->getHeaders()->clearHeaders()->addHeaderLine('Location', '/index.php?redirect=1'); 
     $response->setStatusCode(302)->sendHeaders(); 
     exit(); 
    } 
    }; 

Если вы не хотите жестко закодировать URL-адрес (который не рекомендуется в соответствии со мной), то вы можете использовать URL-адрес помощника вида или URL-адрес плагина контроллера, который вы получаете от диспетчера служб, чтобы использовать имя вашего маршрута вместо «/index.php?redirect=1». Я всегда предпочитаю избегать жесткого кодирования url в моих проектах ZF, поскольку мы можем использовать название маршрутов. Тебе решать.

Смежные вопросы