Не слишком исчерпывающе, только несколько быстрых заметок о перенаправителе.
Перенаправитель делает немного больше, чем обычное перенаправление PHP, которое вы использовали бы с header('Location: www.domain.com/new/location')
в вашем скрипте - после exit()
.
Если вы посмотрите на Zend_Controller_Action_Helper_Redirector , то в конечном итоге это точно так же;если $ _exit == true (по умолчанию), все приводит к redirectAndExit()
, который вызывает header()
и заканчивается вызовом exit()
.Однако он завершает структуру должным образом, в основном сеанс, если таковой имеется.
Перенаправитель не выполняет внутреннюю переадресацию, он отправляет код по умолчанию 302, если вы не установили другой код с помощью setCode()
.
МетодыgotoRoute()
и gotoSimple()
собирают целевой URL для вас и вызывают redirectAndExit()
, но только если $_exit==true
.Или вы можете использовать их братьев gotoRouteAndExit()
и gotoSimpleAndExit()
, которые немедленно выйдут.Методы gotoSimple передаются в setGotoSimple, который использует некоторые методы для сборки URL для вас.
В вашем случае я могу только предположить, что метод setGotoSimple
и один из методов в нем вызывают контроллер назначения и вызываютдо метода init ();однако, только для проверки, но не для пересылки.