PHP 8.5.10 Released!

Plugins

Beispiel #1 Plugins

A plugin hooks into the dispatch cycle by extending Yaf_Plugin_Abstract and overriding one or more of its six hook methods, then is registered on the dispatcher with Yaf_Dispatcher::registerPlugin(), typically in the Bootstrap:

<?php
class UserPlugin extends Yaf_Plugin_Abstract
{
    public function routerStartup(
        Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)
    {
        // before routing: inspect or rewrite the raw request URI
    }

    public function routerShutdown(
        Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)
    {
        // after routing: module/controller/action are known, good for per-route access control
    }

    public function dispatchLoopStartup(
        Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)
    {
        // before the dispatch loop: one-time setup shared by all dispatches
    }

    public function preDispatch(
        Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)
    {
        // before each dispatch: filter parameters or redirect before the action runs
    }

    public function postDispatch(
        Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)
    {
        // after each dispatch: decorate the response or the rendered view
    }

    public function dispatchLoopShutdown(
        Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)
    {
        // after the dispatch loop: final cleanup, logging or flushing
    }
}

class Bootstrap extends Yaf_Bootstrap_Abstract
{
    public function _initPlugin(Yaf_Dispatcher $dispatcher)
    {
        $dispatcher->registerPlugin(new UserPlugin());
    }
}
?>
add a note

User Contributed Notes

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