Переходит к другому действию

# Yaf_Controller_Abstract::forward

(Yaf >=1.0.0)

Yaf_Controller_Abstract::forward — Переходит к другому действию

### Описание

public function Yaf_Controller_Abstract::forward(string `$action`, array `$paramters` = ?): bool
public function Yaf_Controller_Abstract::forward(string `$controller`, string `$action`, array `$paramters` = ?): bool
public function Yaf_Controller_Abstract::forward(
string `$module`,
string `$controller`,
string `$action`,
array `$paramters` = ?
): bool

Перенаправляет текущий процесс выполнения на другое действие.

> Замечание:

> Метод не переключается на указанное действие немедленно, переход происходит после завершения текущего потока.

### Список параметров

`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

### Смотрите также

- Yaf_Request_Abstrace::getParam()

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open