annotate core/lib/Drupal/Component/Plugin/DependentPluginInterface.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Component\Plugin;
Chris@0 4
Chris@0 5 /**
Chris@0 6 * Provides an interface for a plugin that has dependencies.
Chris@0 7 *
Chris@0 8 * @ingroup plugin_api
Chris@0 9 */
Chris@0 10 interface DependentPluginInterface {
Chris@0 11
Chris@0 12 /**
Chris@0 13 * Calculates dependencies for the configured plugin.
Chris@0 14 *
Chris@0 15 * Dependencies are saved in the plugin's configuration entity and are used to
Chris@0 16 * determine configuration synchronization order. For example, if the plugin
Chris@0 17 * integrates with specific user roles, this method should return an array of
Chris@0 18 * dependencies listing the specified roles.
Chris@0 19 *
Chris@0 20 * @return array
Chris@0 21 * An array of dependencies grouped by type (config, content, module,
Chris@0 22 * theme). For example:
Chris@0 23 * @code
Chris@0 24 * array(
Chris@0 25 * 'config' => array('user.role.anonymous', 'user.role.authenticated'),
Chris@0 26 * 'content' => array('node:article:f0a189e6-55fb-47fb-8005-5bef81c44d6d'),
Chris@0 27 * 'module' => array('node', 'user'),
Chris@0 28 * 'theme' => array('seven'),
Chris@0 29 * );
Chris@0 30 * @endcode
Chris@0 31 *
Chris@0 32 * @see \Drupal\Core\Config\Entity\ConfigDependencyManager
Chris@0 33 * @see \Drupal\Core\Entity\EntityInterface::getConfigDependencyName()
Chris@0 34 */
Chris@0 35 public function calculateDependencies();
Chris@0 36
Chris@0 37 }