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
_invoke( Cake\Controller\Controller $controller )
Initializes the components and models a controller will be using. Triggers the controller action and invokes the rendering if Controller::$autoRender is true. If a response object is returned by controller action that is returned else controller's $response property is returned.
Cake\Controller\Controller
$controller
Cake\Network\Response
LogicException
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.
Cake\Event\EventListenerInterface
$filter
dispatch( Cake\Network\Request $request , Cake\Network\Response $response )
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.
Cake\Network\Request
$request
Cake\Network\Response
$response
string|null
$request['return']
is set then it returns response body, null otherwiseCake\Routing\Exception\MissingControllerException
dispatchEvent( string $name , array|null $data null , object|null $subject null )
Wrapper for creating and dispatching events.
Returns a dispatched event.
$name
$data
optional null $subject
optional null Cake\Event\Event
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.
Cake\Event\EventManager
$eventManager
optional null Cake\Event\EventManager
protected Cake\Event\EventManager
Instance of the Cake\Event\EventManager this object is using to dispatch inner events.
null
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Routing.Dispatcher.html