interface DeriverInterface

Same name in other branches
  1. 9 core/lib/Drupal/Component/Plugin/Derivative/DeriverInterface.php \Drupal\Component\Plugin\Derivative\DeriverInterface
  2. 8.9.x core/lib/Drupal/Component/Plugin/Derivative/DeriverInterface.php \Drupal\Component\Plugin\Derivative\DeriverInterface
  3. 11.x 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

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

... See full list

File

core/lib/Drupal/Component/Plugin/Derivative/DeriverInterface.php, line 10

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 array|\Drupal\Component\Plugin\Definition\PluginDefinitionInterface $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|null
     *   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

Title Sort descending Modifiers Object type Summary Overrides
DeriverInterface::getDerivativeDefinition public function Gets the definition of a derivative plugin. 14
DeriverInterface::getDerivativeDefinitions public function Gets the definition of all derivatives of a base plugin. 14

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