Class BaseApplication

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.

Cake\Http\BaseApplication implements Cake\Core\ConsoleApplicationInterface, Cake\Core\HttpApplicationInterface, Cake\Core\PluginApplicationInterface uses Cake\Event\EventDispatcherTrait
Abstract
Namespace: Cake\Http
Location: Http/BaseApplication.php

Properties summary

Inherited Properties

Method Summary

Method Detail

__construct()source public

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

Constructor

Parameters

string $configDir
The directory the bootstrap configuration is held in.
Cake\Event\EventManagerInterface $eventManager optional null
Application event manager instance.

__invoke()source public

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

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

Implementation of

Cake\Core\HttpApplicationInterface::__invoke()

addPlugin()source public

addPlugin( string|Cake\Core\PluginInterface $name , array $config = [] )

Add a plugin to the loaded plugin set.

Parameters

string|Cake\Core\PluginInterface $name
The plugin name or plugin object.
array $config optional []
The configuration data for the plugin if using a string for $name

Returns


$this

Implementation of

Cake\Core\PluginApplicationInterface::addPlugin()

bootstrap()source public

bootstrap( )

Load all the application configuration and bootstrap logic.

Implementation of

Cake\Core\ConsoleApplicationInterface::bootstrap()

console()source public

console( Cake\Console\CommandCollection $commands )

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.

Implementation of

Cake\Core\ConsoleApplicationInterface::console()

getDispatcher()source protected

getDispatcher( )

Get the ActionDispatcher.

Returns

Cake\Http\ActionDispatcher

getPlugins()source public

getPlugins( )

Get the plugin collection in use.

Returns

Cake\Core\PluginCollection

makePlugin()source protected

makePlugin( string $name , array $config )

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

middleware()source abstract public

middleware( Cake\Http\MiddlewareQueue $middleware )

Parameters

Cake\Http\MiddlewareQueue $middleware
The middleware queue to set in your App Class

Returns

Cake\Http\MiddlewareQueue

Implementation of

Cake\Core\HttpApplicationInterface::middleware()

pluginBootstrap()source public

pluginBootstrap( )

Run bootstrap logic for loaded plugins.

Implementation of

Cake\Core\PluginApplicationInterface::pluginBootstrap()

pluginConsole()source public

pluginConsole( Cake\Console\CommandCollection $commands )

Run console hooks for plugins

Parameters

Cake\Console\CommandCollection $commands
The CommandCollection to use.

Returns

Cake\Console\CommandCollection

Implementation of

Cake\Core\PluginApplicationInterface::pluginConsole()

pluginMiddleware()source public

pluginMiddleware( Cake\Http\MiddlewareQueue $middleware )

Run middleware hooks for plugins

Parameters

Cake\Http\MiddlewareQueue $middleware
The MiddlewareQueue to use.

Returns

Cake\Http\MiddlewareQueue

Implementation of

Cake\Core\PluginApplicationInterface::pluginMiddleware()

pluginRoutes()source public

pluginRoutes( Cake\Routing\RouteBuilder $routes )

Run routes hooks for loaded plugins

Parameters

Cake\Routing\RouteBuilder $routes
The route builder to use.

Returns

Cake\Routing\RouteBuilder

Implementation of

Cake\Core\PluginApplicationInterface::pluginRoutes()

routes()source public

routes( Cake\Routing\RouteBuilder $routes )

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.

Implementation of

Cake\Core\HttpApplicationInterface::routes()

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

Magic methods inherited from Cake\Event\EventDispatcherInterface

getEventManager()

Properties detail

$configDirsource

protected string

Contains the path of the config directory

$pluginssource

protected Cake\Core\PluginCollection

Plugin Collection

© 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.6/class-Cake.Http.BaseApplication.html