API Platform Conference 2026 - Lille (France) & Online

Yaf_Plugin_Abstract::routerShutdown

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::routerShutdownEl propósito de routerShutdown

Descripción

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

Este enganche se dispara una vez terminado el proceso de enrutamiento y resueltos los nombres del controlador y de la acción, pero antes de que comience el bucle de despacho. Se usa habitualmente para comprobaciones de control de acceso, como la verificación de identificación, porque el controlador y la acción de destino ya se conocen.

Parámetros

request

La instancia de Yaf_Request_Abstract que se está despachando.

response

La instancia de Yaf_Response_Abstract.

Valores devueltos

No se devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de Yaf_Plugin_Abstract::routerShutdown()

<?php
class AuthPlugin extends Yaf_Plugin_Abstract
{
    public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)
    {
        /* el enrutamiento ha terminado, así que el controlador y la acción
         * de destino se conocen: se comprueba si el usuario puede acceder */
        $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); // no despachar la petición
        }
    }
}

/* los plugins se registran en el bootstrap */
class Bootstrap extends Yaf_Bootstrap_Abstract
{
    public function _initPlugin(Yaf_Dispatcher $dispatcher)
    {
        $dispatcher->registerPlugin(new AuthPlugin());
    }
}
?>

Véase también

add a note

User Contributed Notes

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