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.
Constants summary
-
string[]
VALID_HOOKS['routes', 'bootstrap', 'console', 'middleware']
Properties 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
- $templatePath protected
string
The templates path for this plugin.
Method Summary
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.1/class-Cake.Core.BasePlugin.html