You are here

interface DeriverInterface in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Component/Plugin/Derivative/DeriverInterface.php \Drupal\Component\Plugin\Derivative\DeriverInterface

Provides additional plugin definitions based on an existing definition.

Hierarchy

Expanded class hierarchy of DeriverInterface

All classes that implement DeriverInterface

Related topics

5 files declare their use of DeriverInterface
ContainerDeriverInterface.php in core/lib/Drupal/Core/Plugin/Discovery/ContainerDeriverInterface.php
Contains \Drupal\Core\Plugin\Discovery\ContainerDeriverInterface.
MockLayoutBlockDeriver.php in core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockLayoutBlockDeriver.php
Contains \Drupal\plugin_test\Plugin\plugin_test\mock_block\MockLayoutBlockDeriver.
MockMenuBlockDeriver.php in core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockMenuBlockDeriver.php
Contains \Drupal\plugin_test\Plugin\plugin_test\mock_block\MockMenuBlockDeriver.
TestDerivativeDiscovery.php in core/tests/Drupal/Tests/Core/Plugin/Discovery/TestDerivativeDiscovery.php
Contains \Drupal\Tests\Core\Plugin\Discovery\TestDerivativeDiscovery.
TestDerivativeDiscoveryWithObject.php in core/tests/Drupal/Tests/Core/Plugin/Discovery/TestDerivativeDiscoveryWithObject.php
Contains \Drupal\Tests\Core\Plugin\Discovery\TestDerivativeDiscoveryWithObject.

File

core/lib/Drupal/Component/Plugin/Derivative/DeriverInterface.php, line 15
Contains \Drupal\Component\Plugin\Derivative\DeriverInterface.

Namespace

Drupal\Component\Plugin\Derivative
View source
interface DeriverInterface {

  /**
   * Gets the definition of a derivative plugin.
   *
   * @param string $derivative_id
   *   The derivative id. The id must uniquely identify the derivative within a
   *   given base plugin, but derivative ids can be reused across base plugins.
   * @param mixed $base_plugin_definition
   *   The definition of the base plugin from which the derivative plugin
   *   is derived. It is maybe an entire object or just some array, depending
   *   on the discovery mechanism.
   *
   * @return array
   *   The full definition array of the derivative plugin, typically a merge of
   *   $base_plugin_definition with extra derivative-specific information. NULL
   *   if the derivative doesn't exist.
   */
  public function getDerivativeDefinition($derivative_id, $base_plugin_definition);

  /**
   * Gets the definition of all derivatives of a base plugin.
   *
   * @param array $base_plugin_definition
   *   The definition array of the base plugin.
   * @return array
   *   An array of full derivative definitions keyed on derivative id.
   *
   * @see getDerivativeDefinition()
   */
  public function getDerivativeDefinitions($base_plugin_definition);

}

Members

Namesort descending Modifiers Type Description Overrides
DeriverInterface::getDerivativeDefinition public function Gets the definition of a derivative plugin. 13
DeriverInterface::getDerivativeDefinitions public function Gets the definition of all derivatives of a base plugin. 13