Dutch PHP Conference 2027

Yaf_Plugin_Abstract::routerShutdown

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::routerShutdownPoint d'accroche après le routage

Description

public function Yaf_Plugin_Abstract::routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void

Ce point d'accroche est déclenché une fois le processus de routage terminé et les noms du contrôleur et de l'action résolus, mais avant le démarrage de la boucle de distribution. Il est habituellement utilisé pour des contrôles d'accès tels qu'une vérification de connexion, car le contrôleur et l'action cibles sont déjà connus.

Liste de paramètres

request

L'instance de Yaf_Request_Abstract en cours de distribution.

response

L'instance de Yaf_Response_Abstract.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec Yaf_Plugin_Abstract::routerShutdown()

<?php
class AuthPlugin extends Yaf_Plugin_Abstract
{
    public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)
    {
        /* le routage est terminé, donc le contrôleur et l'action cibles
         * sont connus : vérifier si l'utilisateur peut y accéder */
        $public = array("Index" => array("index"), "User" => array("login"));

        $controller = $request->getControllerName();
        $action = $request->getActionName();

        if (isset($public[$controller]) && in_array($action, $public[$controller])) {
            return;
        }

        if (!Yaf_Session::getInstance()->has("login")) {
            $response->setRedirect("/user/login");
            $request->setDispatched(true); // ne pas distribuer la requête
        }
    }
}

/* les plugins sont enregistrés dans le bootstrap */
class Bootstrap extends Yaf_Bootstrap_Abstract
{
    public function _initPlugin(Yaf_Dispatcher $dispatcher)
    {
        $dispatcher->registerPlugin(new AuthPlugin());
    }
}
?>

Voir aussi

add a note

User Contributed Notes

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