DependentPluginInterface.php

Same filename and directory in other branches
  1. 9 core/lib/Drupal/Component/Plugin/DependentPluginInterface.php
  2. 8.9.x core/lib/Drupal/Component/Plugin/DependentPluginInterface.php
  3. 10 core/lib/Drupal/Component/Plugin/DependentPluginInterface.php

Namespace

Drupal\Component\Plugin

File

core/lib/Drupal/Component/Plugin/DependentPluginInterface.php

View source
<?php

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
     *   [
     *     'config' => ['user.role.anonymous', 'user.role.authenticated'],
     *     'content' => ['node:article:f0a189e6-55fb-47fb-8005-5bef81c44d6d'],
     *     'module' => ['node', 'user'],
     *     'theme' => ['claro'],
     *   ];
     *   @endcode
     *
     * @see \Drupal\Core\Config\Entity\ConfigDependencyManager
     * @see \Drupal\Core\Entity\EntityInterface::getConfigDependencyName()
     */
    public function calculateDependencies();

}

Interfaces

Title Deprecated Summary
DependentPluginInterface Provides an interface for a plugin that has dependencies.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.