(Yaf >=1.0.0)
Yaf_Controller_Abstract::forward — Переходит к другому действию
$controller, string $action, array $paramters = ?): bool$module,$controller,$action,$paramters = ?Перенаправляет текущий процесс выполнения на другое действие.
Замечание:
Метод не переключается на указанное действие немедленно, переход происходит после завершения текущего потока.
moduleИмя целевого модуля, если задано NULL, то подразумевается имя модуля по умолчанию
controllerИмя целевого контроллера
actionИмя целевого действия
paramtersАргументы вызова
Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.
Пример #1 Пример использования Yaf_Controller_Abstract::forward()
<?php
class IndexController extends Yaf_Controller_Abstract
{
public function indexAction(){
$logined = $_SESSION["login"];
if (!$logined) {
$this->forward("login", array("from" => "Index")); // вперёд к действию login
return FALSE; // это важно, это закончить текущий рабочий поток
// и сказать Yaf не делать авторендеринг
}
// other processes
}
public function loginAction() {
echo "Вход, перенаправлено с действия ", $this->_request->getParam("from");
}
}
?>Вывод приведённого примера будет похож на:
Вход, перенаправлено с действия Index