(Yaf >=1.0.0)
Yaf_Controller_Abstract::forward — Forward the current request to another action
$controller, string $action, ?array $parameters = ?): ?bool$module,$controller,$action,$parameters = ?Forward the current request to another action. The target is determined from the number and types of the arguments:
action only: forward to another action of the current controller.controller and action: forward to another controller.module, controller and action: forward to another module.parameters array carries invocation arguments retrievable with Yaf_Request_Abstract::getParam().Note:
This method does not switch to the destination action immediately; the switch takes place after the current flow finishes. To hand over control right away, return from the current action method (returning
falsealso tells Yaf not to auto-render the current view).
moduleThe destination module name. If the current module is given, it is used as is.
controllerThe destination controller name.
actionThe destination action name.
parametersInvocation arguments for the destination action, retrievable with Yaf_Request_Abstract::getParam().
Example #1 Yaf_Controller_Abstract::forward() example
<?php
class IndexController extends Yaf_Controller_Abstract
{
public function indexAction() {
$logined = $_SESSION["login"];
if (!$logined) {
$this->forward("login", array("from" => "Index")); // forward to the login action
return false; // this is important, it ends the current flow
// and tells Yaf not to 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