43 lines
1.2 KiB
PHP
43 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* @file
|
||
|
* Contains \Drupal\Component\Plugin\DependentPluginInterface.
|
||
|
*/
|
||
|
|
||
|
namespace Drupal\Component\Plugin;
|
||
|
|
||
|
/**
|
||
|
* Provides an interface for a plugin that has dependencies.
|
||
|
*
|
||
|
* @ingroup plugin_api
|
||
|
*/
|
||
|
interface DependentPluginInterface {
|
||
|
|
||
|
/**
|
||
|
* Calculates dependencies for the configured plugin.
|
||
|
*
|
||
|
* Dependencies are saved in the plugin's configuration entity and are used to
|
||
|
* determine configuration synchronization order. For example, if the plugin
|
||
|
* integrates with specific user roles, this method should return an array of
|
||
|
* dependencies listing the specified roles.
|
||
|
*
|
||
|
* @return array
|
||
|
* An array of dependencies grouped by type (config, content, module,
|
||
|
* theme). For example:
|
||
|
* @code
|
||
|
* array(
|
||
|
* 'config' => array('user.role.anonymous', 'user.role.authenticated'),
|
||
|
* 'content' => array('node:article:f0a189e6-55fb-47fb-8005-5bef81c44d6d'),
|
||
|
* 'module' => array('node', 'user'),
|
||
|
* 'theme' => array('seven'),
|
||
|
* );
|
||
|
* @endcode
|
||
|
*
|
||
|
* @see \Drupal\Core\Config\Entity\ConfigDependencyManager
|
||
|
* @see \Drupal\Core\Entity\EntityInterface::getConfigDependencyName()
|
||
|
*/
|
||
|
public function calculateDependencies();
|
||
|
|
||
|
}
|