Class ActionDispatcher

This class provides compatibility with dispatcher filters and interacting with the controller layers.

Long term this should just be the controller dispatcher, but for now it will do a bit more than that.

Cake\Http\ActionDispatcher uses Cake\Event\EventDispatcherTrait
Namespace: Cake\Http
Location: Http/ActionDispatcher.php

Properties summary

Inherited Properties

Method Summary

Method Detail

__construct()source public

__construct( Cake\Http\ControllerFactory|null $factory = null , Cake\Event\EventManager|null $eventManager = null , array $filters = [] )

Constructor

Parameters

Cake\Http\ControllerFactory|null $factory optional null
A controller factory instance.
Cake\Event\EventManager|null $eventManager optional null
An event manager if you want to inject one.
array $filters optional []
The list of filters to include.

_invoke()source protected

_invoke( Cake\Controller\Controller $controller )

Invoke a controller's action and wrapping methods.

Parameters

Cake\Controller\Controller $controller
The controller to invoke.

Returns

Cake\Http\Response
The response

Throws

LogicException
If the controller action returns a non-response value.

addFilter()source public deprecated

addFilter( Cake\Event\EventListenerInterface $filter )

Add a filter to this dispatcher.

The added filter will be attached to the event manager used by this dispatcher.

Deprecated

This is only available for backwards compatibility with DispatchFilters

Parameters

Cake\Event\EventListenerInterface $filter

The filter to connect. Can be any EventListenerInterface. Typically an instance of \Cake\Routing\DispatcherFilter.

dispatch()source public

dispatch( Cake\Http\ServerRequest $request , Cake\Http\Response $response )

Dispatches a Request & Response

Parameters

Cake\Http\ServerRequest $request
The request to dispatch.
Cake\Http\Response $response
The response to dispatch.

Returns

Cake\Http\Response
A modified/replaced response.

Throws

ReflectionException

getFilters()source public

getFilters( )

Get the connected filters.

Returns

array

Methods used from Cake\Event\EventDispatcherTrait

dispatchEvent()source public

dispatchEvent( string $name , array|null $data = null , object|null $subject = null )

Wrapper for creating and dispatching events.

Returns a dispatched event.

Parameters

string $name
Name of the event.
array|null $data optional null

Any value you wish to be transported with this event to it can be read by listeners.

object|null $subject optional null

The object that this event applies to ($this by default).

Returns

Cake\Event\Event

eventManager()source public deprecated

eventManager( Cake\Event\EventManager $eventManager = null )

Returns the Cake\Event\EventManager manager instance for this object.

You can use this instance to register any new listeners or callbacks to the object events, or create your own events and trigger them at will.

Deprecated

3.5.0 Use getEventManager()/setEventManager() instead.

Parameters

Cake\Event\EventManager $eventManager optional null
the eventManager to set

Returns

Cake\Event\EventManager

getEventManager()source public

getEventManager( )

Returns the Cake\Event\EventManager manager instance for this object.

You can use this instance to register any new listeners or callbacks to the object events, or create your own events and trigger them at will.

Returns

Cake\Event\EventManager

setEventManager()source public

setEventManager( Cake\Event\EventManager $eventManager )

Returns the Cake\Event\EventManager manager instance for this object.

You can use this instance to register any new listeners or callbacks to the object events, or create your own events and trigger them at will.

Parameters

Cake\Event\EventManager $eventManager
the eventManager to set

Returns


$this

Properties detail

$factorysource

protected Cake\Http\ControllerFactory

Controller factory instance.

$filterssource

protected Cake\Event\EventListenerInterface[]

Attached routing filters

[]

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.8/class-Cake.Http.ActionDispatcher.html