# The Yaf_Dispatcher class

(Yaf >=1.0.0)

## Introduction

Yaf_Dispatcher purpose is to initialize the request environment, route the incoming request, and then dispatch any discovered actions; it aggregates any responses and returns them when the process is complete.

Yaf_Dispatcher also implements the Singleton pattern, meaning only a single instance of it may be available at any given time. This allows it to also act as a registry on which the other objects in the dispatch process may draw.

## Class synopsis

final Yaf_Dispatcher {
/* Properties */
protected $_router ;
protected $_view ;
protected $_request ;
protected $_plugins ;
protected static $_instance ;
protected $_auto_render ;
protected $_return_response ;
protected $_instantly_flush ;
protected $_default_module ;
protected $_default_controller ;
protected $_default_action ;
/* Methods */
public autoRender ([ bool `$flag` ] ) : Yaf_Dispatcher
public catchException ([ bool `$flag` ] ) : Yaf_Dispatcher
private __clone ( void ) : void
public __construct ( void )
public disableView ( void ) : bool
public dispatch ( Yaf_Request_Abstract `$request` ) : Yaf_Response_Abstract
public enableView ( void ) : Yaf_Dispatcher
public flushInstantly ([ bool `$flag` ] ) : Yaf_Dispatcher
public getApplication ( void ) : Yaf_Application
public static getInstance ( void ) : Yaf_Dispatcher
public getRequest ( void ) : Yaf_Request_Abstract
public getRouter ( void ) : Yaf_Router
public initView ( string `$templates_dir` [, array `$options` ] ) : Yaf_View_Interface
public registerPlugin ( Yaf_Plugin_Abstract `$plugin` ) : Yaf_Dispatcher
public returnResponse ( bool `$flag` ) : Yaf_Dispatcher
public setDefaultAction ( string `$action` ) : Yaf_Dispatcher
public setDefaultController ( string `$controller` ) : Yaf_Dispatcher
public setDefaultModule ( string `$module` ) : Yaf_Dispatcher
public setErrorHandler ( call `$callback` , int `$error_types` ) : Yaf_Dispatcher
public setRequest ( Yaf_Request_Abstract `$request` ) : Yaf_Dispatcher
public setView ( Yaf_View_Interface `$view` ) : Yaf_Dispatcher
private __sleep ( void ) : void
public throwException ([ bool `$flag` ] ) : Yaf_Dispatcher
private __wakeup ( void ) : void
}

## Properties

_router

_view

_request

_plugins

_instance

_auto_render

_return_response

_instantly_flush

_default_module

_default_controller

_default_action

## Table of Contents

- Yaf_Dispatcher::autoRender — Switch on/off autorendering
- Yaf_Dispatcher::catchException — Switch on/off exception catching
- Yaf_Dispatcher::__clone — Yaf_Dispatcher can not be cloned
- Yaf_Dispatcher::__construct — Yaf_Dispatcher constructor
- Yaf_Dispatcher::disableView — Disable view rendering
- Yaf_Dispatcher::dispatch — Dispatch a request
- Yaf_Dispatcher::enableView — Enable view rendering
- Yaf_Dispatcher::flushInstantly — Switch on/off the instant flushing
- Yaf_Dispatcher::getApplication — Retrive the application
- Yaf_Dispatcher::getInstance — Retrive the dispatcher instance
- Yaf_Dispatcher::getRequest — Retrive the request instance
- Yaf_Dispatcher::getRouter — Retrive router instance
- Yaf_Dispatcher::initView — Initialize view and return it
- Yaf_Dispatcher::registerPlugin — Register a plugin
- Yaf_Dispatcher::returnResponse — The returnResponse purpose
- Yaf_Dispatcher::setDefaultAction — Change default action name
- Yaf_Dispatcher::setDefaultController — Change default controller name
- Yaf_Dispatcher::setDefaultModule — Change default module name
- Yaf_Dispatcher::setErrorHandler — Set error handler
- Yaf_Dispatcher::setRequest — The setRequest purpose
- Yaf_Dispatcher::setView — Set a custom view engine
- Yaf_Dispatcher::__sleep — Yaf_Dispatcher can not be serialized
- Yaf_Dispatcher::throwException — Switch on/off exception throwing
- Yaf_Dispatcher::__wakeup — Yaf_Dispatcher can not be unserialized