On this page
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.
Constants
-
array<string>
VALID_HOOKS['bootstrap', 'console', 'middleware', 'routes', 'services']
List of valid hooks.
Property Summary
-
$bootstrapEnabled protected
bool
Do bootstrapping or not
-
$classPath protected
string
The class path for this plugin.
-
$configPath protected
string
The config path for this plugin.
-
$consoleEnabled protected
bool
Console middleware
-
$middlewareEnabled protected
bool
Enable middleware
-
$name protected
string
The name of this plugin
-
$path protected
string
The path to this plugin.
-
$routesEnabled protected
bool
Load routes or not
-
$servicesEnabled protected
bool
Register container services
-
$templatePath protected
string
The templates path for this plugin.
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