PluginsService
- Type
- Class
- Namespace
- Craft
- Inherits
- Craft\PluginsService » Craft\BaseApplicationComponent » CApplicationComponent (opens new window) » CComponent (opens new window)
- Implements
IApplicationComponent- Since
- 1.0
PluginsService provides APIs for managing plugins.
An instance of PluginsService is globally accessible in Craft via {@link WebApp::plugins craft()->plugins}.
See also http://craftcms.com
View source (opens new window)
# Public Properties
| Property | Description |
|---|---|
| $autoloadClasses | array (opens new window) |
| $behaviors (opens new window) | array (opens new window) – The behaviors that should be attached to this component. |
# $autoloadClasses
Signature
public array $autoloadClasses = null
# Public Methods
| Method | Description |
|---|---|
| __call() (opens new window) | Calls the named method which is not a class method. |
| __get() (opens new window) | Returns a property value, an event handler list or a behavior based on its name. |
| __isset() (opens new window) | Checks if a property value is null. |
| __set() (opens new window) | Sets value of a component property. |
| __unset() (opens new window) | Sets a component property to be null. |
| arePluginsLoaded() | Returns whether plugins have been loaded yet for this request. |
| asa() (opens new window) | Returns the named behavior object. |
| attachBehavior() (opens new window) | Attaches a behavior to this component. |
| attachBehaviors() (opens new window) | Attaches a list of behaviors to the component. |
| attachEventHandler() (opens new window) | Attaches an event handler to an event. |
| call() | Calls a method on all plugins that have it, and returns an array of the results, indexed by plugin handles. |
| callFirst() | Calls a method on the first plugin that has it, and returns the result. |
| callHook() | Calls a method on all plugins that have the method. |
| canGetProperty() (opens new window) | Determines whether a property can be read. |
| canSetProperty() (opens new window) | Determines whether a property can be set. |
| detachBehavior() (opens new window) | Detaches a behavior from the component. |
| detachBehaviors() (opens new window) | Detaches all behaviors from the component. |
| detachEventHandler() (opens new window) | Detaches an existing event handler. |
| disableBehavior() (opens new window) | Disables an attached behavior. |
| disableBehaviors() (opens new window) | Disables all behaviors attached to this component. |
| disablePlugin() | Disables a plugin by its handle. |
| doesPluginClassExist() | Returns whether a plugin class exists. |
| doesPluginRequireDatabaseUpdate() | Returns whether the given plugin’s local schema version is greater than the record we have in the database. |
| enableBehavior() (opens new window) | Enables an attached behavior. |
| enableBehaviors() (opens new window) | Enables all behaviors attached to this component. |
| enablePlugin() | Enables a plugin by its handle. |
| evaluateExpression() (opens new window) | Evaluates a PHP expression or callback under the context of this component. |
| getEventHandlers() (opens new window) | Returns the list of attached event handlers for an event. |
| getIsInitialized() (opens new window) | Checks if this application component has been initialized. |
| getPlugin() | Returns a plugin by its handle. |
| getPluginClasses() | Returns an array of class names found in a given plugin folder. |
| getPluginIconUrl() | Returns a given plugin’s icon URL. |
| getPluginInfo() | Returns the stored info for a given plugin. |
| getPluginLicenseKey() | Returns the license key stored for a given plugin, if it was purchased through the Store. |
| getPluginLicenseKeyStatus() | Returns the license key status of a given plugin. |
| getPlugins() | Returns all the plugins. |
| hasEvent() (opens new window) | Determines whether an event is defined. |
| hasEventHandler() (opens new window) | Checks whether the named event has attached handlers. |
| hasPluginVersionNumberChanged() | Returns whether the given plugin’s version number has changed from what we have recorded in the database. |
| hasProperty() (opens new window) | Determines whether a property is defined. |
| init() (opens new window) | Initializes the application component. |
| installPlugin() | Installs a plugin by its handle. |
| isInitialized() | Checks if this application component has been initialized yet, or not. |
| loadPlugins() | Loads the enabled plugins. |
| onLoadPlugins() | Fires an 'onLoadPlugins' event. |
| raiseEvent() (opens new window) | Raises an event. |
| savePluginSettings() | Saves a plugin's settings. |
| setPluginLicenseKey() | Sets a plugin’s license key. |
| setPluginLicenseKeyStatus() | Sets the license key status for a given plugin. |
| uninstallPlugin() | Uninstalls a plugin by its handle. |
# arePluginsLoaded()
Returns whether plugins have been loaded yet for this request.
View source (opens new window)
Returns
boolean (opens new window) – Whether plugins have been loaded yet.
Signature
public boolean arePluginsLoaded ( )
# call()
Calls a method on all plugins that have it, and returns an array of the results, indexed by plugin handles.
View source (opens new window)
Arguments
$method(string (opens new window)) – The name of the method.$args(array (opens new window)) – Any arguments that should be passed when calling the method on the plugins.$ignoreNull(boolean (opens new window)) – Whether plugins that have the method but return a null response should be ignored. Defaults to false.
Returns
array (opens new window) – An array of the plugins’ responses.
Signature
public array call ( $method, $args = [], $ignoreNull = false )
# callFirst()
Calls a method on the first plugin that has it, and returns the result.
View source (opens new window)
Arguments
$method(string (opens new window)) – The name of the method.$args(array (opens new window)) – Any arguments that should be passed when calling the method on the plugins.$ignoreNull(boolean (opens new window)) – Whether plugins that have the method but return a null response should be ignored. Defaults to false.
Returns
mixed – The plugin’s response, or null.
Signature
public mixed callFirst ( $method, $args = [], $ignoreNull = false )
# callHook()
DEPRECATED
Deprecated Deprecated in 1.0. Use {@link call()} instead.
Calls a method on all plugins that have the method.
View source (opens new window)
Arguments
$method(string (opens new window)) – The name of the method.$args(array (opens new window)) – Any arguments that should be passed when calling the method on the plugins.
Returns
array (opens new window) – An array of the plugins’ responses.
Signature
public array callHook ( $method, $args = [] )
# disablePlugin()
Disables a plugin by its handle.
View source (opens new window)
Arguments
$handle(string (opens new window)) – The plugin’s handle.
Returns
boolean (opens new window) – Whether the plugin was disabled successfully.
Throws
Signature
public boolean disablePlugin ( $handle )
# doesPluginClassExist()
Returns whether a plugin class exists.
View source (opens new window)
Arguments
$plugin(Craft\BasePlugin) – The plugin.$classSubfolder(string (opens new window)) – The subfolder to search.$class(string (opens new window)) – The class suffix we’re looking for.$autoload(boolean (opens new window)) – Whether the found class should be imported for the autoloader.
Returns
boolean (opens new window) – Whether the class exists.
Signature
public boolean doesPluginClassExist ( Craft\BasePlugin $plugin, $classSubfolder, $class, $autoload = true )
# doesPluginRequireDatabaseUpdate()
Returns whether the given plugin’s local schema version is greater than the record we have in the database.
View source (opens new window)
Arguments
$plugin(Craft\BasePlugin) – The plugin.
Returns
boolean (opens new window) – Whether the plugin’s local schema version is greater than the record we have in the database.
Signature
public boolean doesPluginRequireDatabaseUpdate ( Craft\BasePlugin $plugin )
# enablePlugin()
Enables a plugin by its handle.
View source (opens new window)
Arguments
$handle(string (opens new window)) – The plugin’s handle.
Returns
boolean (opens new window) – Whether the plugin was enabled successfully.
Throws
Signature
public boolean enablePlugin ( $handle )
# getPlugin()
Returns a plugin by its handle.
View source (opens new window)
Arguments
$handle(string (opens new window)) – The plugin’s handle.$enabledOnly(boolean (opens new window)) – Whether the plugin must be installed and enabled. Defaults totrue.
Returns
Craft\BasePlugin, null (opens new window) – The plugin.
Signature
public Craft\BasePlugin, null getPlugin ( $handle, $enabledOnly = true )
# getPluginClasses()
Returns an array of class names found in a given plugin folder.
View source (opens new window)
Arguments
$plugin(Craft\BasePlugin) – The plugin.$classSubfolder(string (opens new window)) – The subfolder to search.$classSuffix(string (opens new window)) – The class suffix we’re looking for.$autoload(boolean (opens new window)) – Whether the found classes should be imported for the autoloader.
Returns
array (opens new window) – The class names.
Signature
public array getPluginClasses ( Craft\BasePlugin $plugin, $classSubfolder, $classSuffix, $autoload = true )
# getPluginIconUrl()
Returns a given plugin’s icon URL.
View source (opens new window)
Arguments
$pluginHandle(string (opens new window)) – The plugin’s class handle$size(integer (opens new window)) – The size of the icon
Returns
Signature
public string getPluginIconUrl ( $pluginHandle, $size = 100 )
# getPluginInfo()
Returns the stored info for a given plugin.
View source (opens new window)
Arguments
$plugin(Craft\BasePlugin) – The plugin.
Returns
array (opens new window), null (opens new window) – The stored info, if there is any.
Signature
public array, null getPluginInfo ( Craft\BasePlugin $plugin )
# getPluginLicenseKey()
Returns the license key stored for a given plugin, if it was purchased through the Store.
View source (opens new window)
Arguments
$pluginHandle(string (opens new window)) – The plugin’s class handle
Returns
string (opens new window), null (opens new window) – The plugin’s license key, or null if it isn’t known
Signature
public string, null getPluginLicenseKey ( $pluginHandle )
# getPluginLicenseKeyStatus()
Returns the license key status of a given plugin.
View source (opens new window)
Arguments
$pluginHandle(string (opens new window)) – The plugin’s class handle
Returns
Signature
public string, false getPluginLicenseKeyStatus ( $pluginHandle )
# getPlugins()
Returns all the plugins.
View source (opens new window)
Arguments
$enabledOnly(boolean (opens new window)) – Whether to only return plugins that are installed and enabled. Defaults totrue.
Returns
Craft\BasePlugin[] – The plugins.
Signature
public Craft\BasePlugin[] getPlugins ( $enabledOnly = true )
# hasPluginVersionNumberChanged()
Returns whether the given plugin’s version number has changed from what we have recorded in the database.
View source (opens new window)
Arguments
$plugin(Craft\BasePlugin) – The plugin.
Returns
boolean (opens new window) – Whether the plugin’s version number has changed from what we have recorded in the database
Signature
public boolean hasPluginVersionNumberChanged ( Craft\BasePlugin $plugin )
# installPlugin()
Installs a plugin by its handle.
View source (opens new window)
Arguments
$handle(string (opens new window)) – The plugin’s handle.
Returns
boolean (opens new window) – Whether the plugin was installed successfully.
Throws
\Craft\Exception|\Exception
Signature
public boolean installPlugin ( $handle )
# loadPlugins()
Signature
public null loadPlugins ( )
# onLoadPlugins()
Fires an 'onLoadPlugins' event.
View source (opens new window)
Arguments
$event(Craft\Event)
Returns
Signature
public null onLoadPlugins ( Craft\Event $event )
# savePluginSettings()
Saves a plugin's settings.
View source (opens new window)
Arguments
$plugin(Craft\BasePlugin) – The plugin.$settings(array (opens new window)) – The plugin’s new settings.
Returns
boolean (opens new window) – Whether the plugin’s settings were saved successfully.
Signature
public boolean savePluginSettings ( Craft\BasePlugin $plugin, $settings )
# setPluginLicenseKey()
Sets a plugin’s license key. Note this should not be used to store license keys generated by third party stores.
View source (opens new window)
Arguments
$pluginHandle(string (opens new window)) – The plugin’s class handle$licenseKey(string (opens new window), null (opens new window)) – The plugin’s license key
Returns
void
Throws
- Craft\InvalidLicenseKeyException
if $licenseKey is invalid
Signature
public void setPluginLicenseKey ( $pluginHandle, $licenseKey )
# setPluginLicenseKeyStatus()
Sets the license key status for a given plugin.
View source (opens new window)
Arguments
$pluginHandle(string (opens new window)) – The plugin’s class handle$licenseKeyStatus(string (opens new window), null (opens new window)) – The plugin’s license key status
Returns
void
Signature
public void setPluginLicenseKeyStatus ( $pluginHandle, $licenseKeyStatus )
# uninstallPlugin()
Uninstalls a plugin by its handle.
View source (opens new window)
Arguments
$handle(string (opens new window)) – The plugin’s handle.
Returns
boolean (opens new window) – Whether the plugin was uninstalled successfully.
Throws
\Craft\Exception|\Exception
Signature
public boolean uninstallPlugin ( $handle )