(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