W3cubDocs

/CakePHP 4.4

Class BasePlugin

Base Plugin Class

Every plugin should extend from this class or implement the interfaces and include a plugin class in its src root folder.

Namespace: Cake\Core

Constants

  • array<string>
    VALID_HOOKS
    ['bootstrap', 'console', 'middleware', 'routes', 'services']

    List of valid hooks.

Property 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.

  • services() public

    Register container services for this plugin.

Method Detail

__construct() public

__construct(array<string, mixed> $options = [])

Constructor

Parameters

array<string, mixed> $options optional

Options

bootstrap() public

bootstrap(Cake\Core\PluginApplicationInterface $app): void

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

Returns

void

checkHook() protected

checkHook(string $hook): void

Check if a hook name is valid

Parameters

string $hook

The hook name to check

Returns

void

Throws

InvalidArgumentException
on invalid hooks

console() public

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

Add console commands for the plugin.

Parameters

Cake\Console\CommandCollection $commands

Returns

Cake\Console\CommandCollection

disable() public

disable(string $hook): $this

Disables the named hook

Parameters

string $hook

Returns

$this

enable() public

enable(string $hook): $this

Enables the named hook

Parameters

string $hook

Returns

$this

getClassPath() public

getClassPath(): string

Get the filesystem path to configuration for this plugin

Returns

string

getConfigPath() public

getConfigPath(): string

Get the filesystem path to configuration for this plugin

Returns

string

getName() public

getName(): string

Get the name of this plugin.

Returns

string

getPath() public

getPath(): string

Get the filesystem path to this plugin

Returns

string

getTemplatePath() public

getTemplatePath(): string

Get the filesystem path to templates for this plugin

Returns

string

initialize() public

initialize(): void

Initialization hook called from constructor.

Returns

void

isEnabled() public

isEnabled(string $hook): bool

Check if the named hook is enabled

Parameters

string $hook

Returns

bool

middleware() public

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

Add middleware for the plugin.

Parameters

Cake\Http\MiddlewareQueue $middlewareQueue

Returns

Cake\Http\MiddlewareQueue

routes() public

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

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

Returns

void

services() public

services(Cake\Core\ContainerInterface $container): void

Register container services for this plugin.

Parameters

Cake\Core\ContainerInterface $container

The container to add services to.

Returns

void

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

$servicesEnabled protected

Register container services

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