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|null
The class path for this plugin.
-
$configPath protected
string|null
The config path for this plugin.
-
$consoleEnabled protected
bool
Console middleware
-
$middlewareEnabled protected
bool
Enable middleware
-
$name protected
string|null
The name of this plugin
-
$path protected
string|null
The path to this plugin.
-
$routesEnabled protected
bool
Load routes or not
-
$servicesEnabled protected
bool
Register container services
-
$templatePath protected
string|null
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
getTemplatePath() ¶ public
getTemplatePath(): string
Get the filesystem path to templates for this plugin
Returns
string
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