(Yaf >=1.0.0)
Yaf_Controller_Abstract::forward — Avanza a la siguiente acción
$controller, string $action, ?array $parameters = ?): ?bool$module,$controller,$action,$parameters = ?Avanza el proceso de ejecución actual a otra acción. El destino se determina por el número y tipo de los argumentos:
action: avanza a otra acción del controlador actual.controller y action: avanza a otro controlador.module, controller y action: avanza a otro módulo.parameters lleva argumentos de invocación recuperables con Yaf_Request_Abstract::getParam().Nota:
Este método no cambia a la acción destino de inmediato; el cambio tiene lugar después de que el flujo actual finalice.
moduleEl nombre del módulo destino. Si es NULL, se asume el nombre del módulo por omisión
controllerEl nombre del controlador destino
actionEl nombre de la acción destino
paramtersArgumentos de llamada
Ejemplo #1 Ejemplo de 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")); // reenvía a la acción login
return false; // esto es importante, termina el flujo actual
// y le indica a Yaf que no haga el auto-renderizado
}
// otros procesos
}
public function loginAction() {
echo "login, redirected from ", $this->_request->getParam("from") , " action";
}
}
?>Resultado del ejemplo anterior es similar a:
login, redirected from Index action