You are here

public function DeriverBase::getDerivativeDefinition in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Component/Plugin/Derivative/DeriverBase.php \Drupal\Component\Plugin\Derivative\DeriverBase::getDerivativeDefinition()

Gets the definition of a derivative plugin.

Parameters

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.

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 value

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.

Overrides DeriverInterface::getDerivativeDefinition

File

core/lib/Drupal/Component/Plugin/Derivative/DeriverBase.php, line 20

Class

DeriverBase
Provides a basic deriver.

Namespace

Drupal\Component\Plugin\Derivative

Code

public function getDerivativeDefinition($derivative_id, $base_plugin_definition) {
  if (!empty($this->derivatives) && !empty($this->derivatives[$derivative_id])) {
    return $this->derivatives[$derivative_id];
  }
  $this
    ->getDerivativeDefinitions($base_plugin_definition);
  return $this->derivatives[$derivative_id];
}