Yaf_Controller_Abstract::forward

(Yaf >=1.0.0)

Yaf_Controller_Abstract::forwardTransfère la requête courante vers une autre action

Description

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

Transfère la requête courante vers une autre action. La cible est déterminée à partir du nombre et du type des arguments :

  • action seul : transfère vers une autre action du contrôleur courant.
  • controller et action : transfère vers un autre contrôleur.
  • module, controller et action : transfère vers un autre module.
  • Le tableau optionnel parameters transporte les arguments d'invocation récupérables avec Yaf_Request_Abstract::getParam().

Note:

Cette méthode ne bascule pas immédiatement vers l'action de destination ; la bascule a lieu une fois le flux courant terminé. Pour passer la main immédiatement, il faut sortir de la méthode d'action courante (retourner false indique également à Yaf de ne pas effectuer le rendu automatique de la vue courante).

Liste de paramètres

module

Le nom du module de destination. Si le module courant est fourni, il est utilisé tel quel.

controller

Le nom du contrôleur de destination.

action

Le nom de l'action de destination.

parameters

Les arguments d'invocation de l'action de destination, récupérables avec Yaf_Request_Abstract::getParam().

Valeurs de retour

Retourne true en cas de succès, ou false / null en cas d'échec.

Exemples

Exemple #1 Exemple avec 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")); // transfère vers l'action login
            return false; // ceci est important, cela termine le flux courant
                          // et indique à Yaf de ne pas effectuer le rendu automatique
        }

        // autres traitements
    }

    public function loginAction() {
        echo "login, redirigé depuis l'action ", $this->_request->getParam("from");
    }
}
?>

Résultat de l'exemple ci-dessus est similaire à :

login, redirigé depuis l'action Index

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top