\Cake\HttpBaseApplication

Base class for application classes.

The application class is responsible for bootstrapping the application, and ensuring that middleware is attached. It is also invoked as the last piece of middleware, and delegates request/response handling to the correct controller.

Summary

Methods
Properties
Constants
eventManager()
getEventManager()
setEventManager()
dispatchEvent()
__construct()
middleware()
pluginMiddleware()
addPlugin()
getPlugins()
bootstrap()
pluginBootstrap()
routes()
pluginRoutes()
console()
pluginConsole()
__invoke()
No public properties found
No constants found
makePlugin()
getDispatcher()
$_eventManager
$_eventClass
$configDir
$plugins
N/A
No private methods found
No private properties found
N/A

Properties

$_eventClass

$_eventClass : string

Default class name for new event objects.

Type

string

$configDir

$configDir : string

Type

string — Contains the path of the config directory

Methods

eventManager()

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

the eventManager to set

Returns

\Cake\Event\EventManager

getEventManager()

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()

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

dispatchEvent()

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

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

object|null $subject

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

Returns

\Cake\Event\Event

__construct()

__construct(string  $configDir, \Cake\Event\EventManagerInterface  $eventManager = null) 

Constructor

Parameters

string $configDir

The directory the bootstrap configuration is held in.

\Cake\Event\EventManagerInterface $eventManager

Application event manager instance.

middleware()

middleware(\Cake\Http\MiddlewareQueue  $middleware) : \Cake\Http\MiddlewareQueue

Define the HTTP middleware layers for an application.

Parameters

\Cake\Http\MiddlewareQueue $middleware

The middleware queue to set in your App Class

Returns

\Cake\Http\MiddlewareQueue

addPlugin()

addPlugin(string|\Cake\Core\PluginInterface  $name, array  $config = array()) : $this

Add a plugin to the loaded plugin set.

If the named plugin does not exist, or does not define a Plugin class, an instance of Cake\Core\BasePlugin will be used. This generated class will have all plugin hooks enabled.

Parameters

string|\Cake\Core\PluginInterface $name

The plugin name or plugin object.

array $config

The configuration data for the plugin if using a string for $name

Returns

$this

bootstrap()

bootstrap() : void

Load all the application configuration and bootstrap logic.

Override this method to add additional bootstrap logic for your application.

pluginBootstrap()

pluginBootstrap() : void

Run bootstrap logic for loaded plugins.

routes()

routes(\Cake\Routing\RouteBuilder  $routes) : void

Define the routes for an application.

By default this will load config/routes.php for ease of use and backwards compatibility.

Parameters

\Cake\Routing\RouteBuilder $routes

A route builder to add routes into.

console()

console(\Cake\Console\CommandCollection  $commands) : \Cake\Console\CommandCollection

Define the console commands for an application.

By default all commands in CakePHP, plugins and the application will be loaded using conventions based names.

Parameters

\Cake\Console\CommandCollection $commands

The CommandCollection to add commands into.

Returns

\Cake\Console\CommandCollection

The updated collection.

__invoke()

__invoke(\Psr\Http\Message\ServerRequestInterface  $request, \Psr\Http\Message\ResponseInterface  $response, callable  $next) : \Psr\Http\Message\ResponseInterface

Invoke the application.

  • Convert the PSR response into CakePHP equivalents.
  • Create the controller that will handle this request.
  • Invoke the controller.

Parameters

\Psr\Http\Message\ServerRequestInterface $request

The request

\Psr\Http\Message\ResponseInterface $response

The response

callable $next

The next middleware

Returns

\Psr\Http\Message\ResponseInterface

makePlugin()

makePlugin(string  $name, array  $config) : \Cake\Core\PluginInterface

Create a plugin instance from a classname and configuration

Parameters

string $name

The plugin classname

array $config

Configuration options for the plugin

Returns

\Cake\Core\PluginInterface