Yaf_Controller_Abstract::forward

Forward to another action

Description

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

forward current execution process to other action.

Note:

this method doesn't switch to the destination action immediately, it will take place after current flow finish.

Parameters

module

destination module name, if NULL was given, then default module name is assumed

controller

destination controller name

action

destination action name

paramters

calling arguments

Return Values

Returns true on success or false on failure.

Examples

Example #1 Yaf_Controller_Abstract::forwardexample

<?php
class IndexController extends Yaf_Controller_Abstract
{
    public function indexAction(){   
         $logined = $_SESSION["login"];
         if (!$logined) {
             $this->forward("login", array("from" => "Index")); // forward to login action
             return FALSE;  // this is important, this finish current working flow
                            // and tell the Yaf do not doing auto-render
         }

         // other processes
    }

    public function loginAction() {
         echo "login, redirected from ", $this->_request->getParam("from") , " action";
    }
}
?>

The above example will output something similar to:

   login, redirected from Index action

See Also

  • Yaf_Request_Abstrace::getParam