Class BasePlugin

Base Plugin Class

Every plugin should extends from this class or implement the interfaces and include a plugin class in it's src root folder.

Namespace: Cake\Core

Constants summary

  • string[]
    VALID_HOOKS
    ['routes', 'bootstrap', 'console', 'middleware']

Properties summary

Method Summary

  • __construct() public

    Constructor

  • bootstrap() public

    Load all the application configuration and bootstrap logic.

  • checkHook() protected

    Check if a hook name is valid

  • console() public

    Add console commands for the plugin.

  • disable() public

    Disables the named hook

  • enable() public

    Enables the named hook

  • getClassPath() public

    Get the filesystem path to configuration for this plugin

  • getConfigPath() public

    Get the filesystem path to configuration for this plugin

  • getName() public

    Get the name of this plugin.

  • getPath() public

    Get the filesystem path to this plugin

  • getTemplatePath() public

    Get the filesystem path to templates for this plugin

  • initialize() public

    Initialization hook called from constructor.

  • isEnabled() public

    Check if the named hook is enabled

  • middleware() public

    Add middleware for the plugin.

  • routes() public

    Add routes for the plugin.

Method Detail

__construct() public

__construct(array $options)

Constructor

Parameters

array $options optional

Options

bootstrap() public

bootstrap(\Cake\Core\PluginApplicationInterface $app)

Load all the application configuration and bootstrap logic.

The default implementation of this method will include the config/bootstrap.php in the plugin if it exist. You can override this method to replace that behavior.

The host application is provided as an argument. This allows you to load additional plugin dependencies, or attach events.

Parameters

\Cake\Core\PluginApplicationInterface $app

The host application

checkHook() protected

checkHook(string $hook)

Check if a hook name is valid

Parameters

string $hook

The hook name to check

Throws

InvalidArgumentException
on invalid hooks

console() public

console(\Cake\Console\CommandCollection $commands)

Add console commands for the plugin.

Parameters

\Cake\Console\CommandCollection $commands

The command collection to update

Returns

\Cake\Console\CommandCollection

disable() public

disable(string $hook)

Disables the named hook

Parameters

string $hook

The hook to disable

Returns

$this

enable() public

enable(string $hook)

Enables the named hook

Parameters

string $hook

The hook to disable

Returns

$this

getClassPath() public

getClassPath()

Get the filesystem path to configuration for this plugin

Returns

string

getConfigPath() public

getConfigPath()

Get the filesystem path to configuration for this plugin

Returns

string

getName() public

getName()

Get the name of this plugin.

Returns

string

getPath() public

getPath()

Get the filesystem path to this plugin

Returns

string

getTemplatePath() public

getTemplatePath()

Get the filesystem path to templates for this plugin

Returns

string

initialize() public

initialize()

Initialization hook called from constructor.

isEnabled() public

isEnabled(string $hook)

Check if the named hook is enabled

Parameters

string $hook

The hook to check

Returns

bool

middleware() public

middleware(\Cake\Http\MiddlewareQueue $middlewareQueue)

Add middleware for the plugin.

Parameters

\Cake\Http\MiddlewareQueue $middlewareQueue

The middleware queue to update.

Returns

\Cake\Http\MiddlewareQueue

routes() public

routes(\Cake\Routing\RouteBuilder $routes)

Add routes for the plugin.

The default implementation of this method will include the config/routes.php in the plugin if it exists. You can override this method to replace that behavior.

Parameters

\Cake\Routing\RouteBuilder $routes

The route builder to update.

Property Detail

$bootstrapEnabled protected

Do bootstrapping or not

Type

bool

$classPath protected

The class path for this plugin.

Type

string

$configPath protected

The config path for this plugin.

Type

string

$consoleEnabled protected

Console middleware

Type

bool

$middlewareEnabled protected

Enable middleware

Type

bool

$name protected

The name of this plugin

Type

string

$path protected

The path to this plugin.

Type

string

$routesEnabled protected

Load routes or not

Type

bool

$templatePath protected

The templates path for this plugin.

Type

string

© 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/4.0/class-Cake.Core.BasePlugin.html