\PicoPluginInterface

Common interface for Pico plugins

For a list of supported events see DummyPlugin; you can use DummyPlugin as template for new plugins. For a list of deprecated events see \PicoDeprecated.

You SHOULD NOT use deprecated events when implementing this interface. Deprecated events are triggered by the \PicoDeprecated plugin, if plugins which don't implement this interface are loaded. You can take advantage from this behaviour if you want to do something only when old plugins are loaded. Consequently the old events are never triggered when your plugin is implementing this interface and no old plugins are present.

If you're developing a new plugin, you MUST implement this interface. If you're the developer of an old plugin, it is STRONGLY RECOMMENDED to use the events introduced in Pico 1.0 when releasing a new version of your plugin. If you want to use any of the new events, you MUST implement this interface and update all other events you use.

Summary

Methods
Constants
__construct()
handleEvent()
setEnabled()
isEnabled()
isStatusChanged()
getDependencies()
getDependants()
getPico()
No constants found
No protected methods found
N/A
No private methods found
N/A

Methods

__construct()

__construct(\Pico  $pico) 

Constructs a new instance of a Pico plugin

Parameters

\Pico $pico

current instance of Pico

handleEvent()

handleEvent(string  $eventName, array  $params) : void

Handles a event that was triggered by Pico

Parameters

string $eventName

name of the triggered event

array $params

passed parameters

setEnabled()

setEnabled(boolean  $enabled, boolean  $recursive = true, boolean  $auto = false) : void

Enables or disables this plugin

Parameters

boolean $enabled

enable (true) or disable (false) this plugin

boolean $recursive

when true, enable or disable recursively In other words, if you enable a plugin, all required plugins are enabled, too. When disabling a plugin, all depending plugins are disabled likewise. Recursive operations are only performed as long as a plugin wasn't enabled/disabled manually. This parameter is optional and defaults to true.

boolean $auto

enable or disable to fulfill a dependency This parameter is optional and defaults to false.

Throws

\RuntimeException

thrown when a dependency fails

isEnabled()

isEnabled() : boolean

Returns true if this plugin is enabled, false otherwise

Returns

boolean —

plugin is enabled (true) or disabled (false)

isStatusChanged()

isStatusChanged() : boolean

Returns true if the plugin was ever enabled/disabled manually

Returns

boolean —

plugin is in its default state (true), false otherwise

getDependencies()

getDependencies() : array<mixed,string>

Returns a list of names of plugins required by this plugin

Returns

array<mixed,string> —

required plugins

getDependants()

getDependants() : array<mixed,object>

Returns a list of plugins which depend on this plugin

Returns

array<mixed,object> —

dependant plugins

getPico()

getPico() : \Pico

Returns the plugins instance of Pico

Returns

\Pico

the plugins instance of Pico