CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.10 Red Velvet API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 3.10
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
      • Exception
      • Filter
      • Middleware
      • Route
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View

Class
Dispatcher

Dispatcher converts Requests into controller actions. It uses the dispatched Request to locate and load the correct controller. If found, the requested action is called on the controller

Namespace: Cake\Routing
Deprecated: 3.6.0 Dispatcher is deprecated. You should update your application to use the Http\Server implementation instead.

Property Summary

  • $_eventClass protected
    string

    Default class name for new event objects.

  • $_eventManager protected
    Cake\Event\EventManagerInterface|Cake\Event\EventManager

    Instance of the Cake\Event\EventManager this object is using to dispatch inner events.

  • $_filters protected
    Cake\Event\EventListenerInterface[]

    Connected filter objects

Method Summary

  • addFilter() public

    Add a filter to this dispatcher.

  • dispatch() public

    Dispatches and invokes given Request, handing over control to the involved controller. If the controller is set to autoRender, via Controller::$autoRender, then Dispatcher will render the view.

  • dispatchEvent() public

    Wrapper for creating and dispatching events.

  • eventManager() public deprecated

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

  • filters() public

    Get the list of connected filters.

  • getEventManager() public

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

  • setEventManager() public

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

Method Detail

addFilter() ¶ public

addFilter(Cake\Event\EventListenerInterface $filter): void

Add a filter to this dispatcher.

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

Parameters
Cake\Event\EventListenerInterface $filter

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

Returns
void

dispatch() ¶ public

dispatch(Cake\Http\ServerRequest $request, Cake\Http\Response $response): string|null

Dispatches and invokes given Request, handing over control to the involved controller. If the controller is set to autoRender, via Controller::$autoRender, then Dispatcher will render the view.

Actions in CakePHP can be any public method on a controller, that is not declared in Controller. If you want controller methods to be public and in-accessible by URL, then prefix them with a _. For example public function _loadPosts() { } would not be accessible via URL. Private and protected methods are also not accessible via URL.

If no controller of given name can be found, invoke() will throw an exception. If the controller is found, and the action is not found an exception will be thrown.

Parameters
Cake\Http\ServerRequest $request

Request object to dispatch.

Cake\Http\Response $response

Response object to put the results of the dispatch into.

Returns
string|null
Throws
LogicException
When the controller did not get created in the Dispatcher.beforeDispatch event.

dispatchEvent() ¶ public

dispatchEvent(string $name, array|null $data = null, object|null $subject = null): Cake\Event\Event

Wrapper for creating and dispatching events.

Returns a dispatched event.

Parameters
string $name

Name of the event.

array|null $data optional

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

object|null $subject optional

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

Returns
Cake\Event\Event

eventManager() ¶ public

eventManager(Cake\Event\EventManager|null $eventManager = null): Cake\Event\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|null $eventManager optional

the eventManager to set

Returns
Cake\Event\EventManager

filters() ¶ public

filters(): Cake\Event\EventListenerInterface[]

Get the list of connected filters.

Returns
Cake\Event\EventListenerInterface[]

getEventManager() ¶ public

getEventManager(): Cake\Event\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.

Returns
Cake\Event\EventManager

setEventManager() ¶ public

setEventManager(Cake\Event\EventManager $eventManager): $this

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

Property Detail

$_eventClass ¶ protected

Default class name for new event objects.

Type
string

$_eventManager ¶ protected

Instance of the Cake\Event\EventManager this object is using to dispatch inner events.

Type
Cake\Event\EventManagerInterface|Cake\Event\EventManager

$_filters ¶ protected

Connected filter objects

Type
Cake\Event\EventListenerInterface[]
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs