Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. DefaultPluginManager.php

function DefaultPluginManager::processDefinition

Performs extra processing on plugin definitions.

By default we add defaults for the type to the definition. If a type has additional processing logic they can do that by replacing or extending the method.

27 calls to DefaultPluginManager::processDefinition()
BlockManager::processDefinition in core/lib/Drupal/Core/Block/BlockManager.php
Performs extra processing on plugin definitions.
BlockManager::processDefinition in core/lib/Drupal/Core/Block/BlockManager.php
Performs extra processing on plugin definitions.
BreakpointManager::processDefinition in core/modules/breakpoint/src/BreakpointManager.php
Performs extra processing on plugin definitions.
BreakpointManager::processDefinition in core/modules/breakpoint/src/BreakpointManager.php
Performs extra processing on plugin definitions.
CKEditor5PluginManager::processDefinition in core/modules/ckeditor5/src/Plugin/CKEditor5PluginManager.php
Performs extra processing on plugin definitions.

... See full list

14 methods override DefaultPluginManager::processDefinition()
BlockManager::processDefinition in core/lib/Drupal/Core/Block/BlockManager.php
Performs extra processing on plugin definitions.
BreakpointManager::processDefinition in core/modules/breakpoint/src/BreakpointManager.php
Performs extra processing on plugin definitions.
CKEditor5PluginManager::processDefinition in core/modules/ckeditor5/src/Plugin/CKEditor5PluginManager.php
Performs extra processing on plugin definitions.
ConfigMapperManager::processDefinition in core/modules/config_translation/src/ConfigMapperManager.php
Performs extra processing on plugin definitions.
ConstraintManager::processDefinition in core/lib/Drupal/Core/Validation/ConstraintManager.php
Performs extra processing on plugin definitions.

... See full list

File

core/lib/Drupal/Core/Plugin/DefaultPluginManager.php, line 285

Class

DefaultPluginManager
Base class for plugin managers.

Namespace

Drupal\Core\Plugin

Code

public function processDefinition(&$definition, $plugin_id) {
    // Only array-based definitions can have defaults merged in.
    if (is_array($definition) && !empty($this->defaults) && is_array($this->defaults)) {
        $definition = NestedArray::mergeDeep($this->defaults, $definition);
    }
    // Keep class definitions standard with no leading slash.
    if ($definition instanceof PluginDefinitionInterface) {
        assert(is_string($definition->getClass()), 'Plugin definitions must have a class');
        $definition->setClass(ltrim($definition->getClass(), '\\'));
    }
    elseif (is_array($definition) && isset($definition['class'])) {
        $definition['class'] = ltrim($definition['class'], '\\');
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal