FilteredPluginManagerInterface.php

Same filename in other branches
  1. 9 core/lib/Drupal/Core/Plugin/FilteredPluginManagerInterface.php
  2. 8.9.x core/lib/Drupal/Core/Plugin/FilteredPluginManagerInterface.php
  3. 11.x core/lib/Drupal/Core/Plugin/FilteredPluginManagerInterface.php

Namespace

Drupal\Core\Plugin

File

core/lib/Drupal/Core/Plugin/FilteredPluginManagerInterface.php

View source
<?php

namespace Drupal\Core\Plugin;

use Drupal\Component\Plugin\PluginManagerInterface;

/**
 * Provides an interface for plugin managers that allow filtering definitions.
 */
interface FilteredPluginManagerInterface extends PluginManagerInterface {
    
    /**
     * Gets the plugin definitions for a given type and consumer and filters them.
     *
     * This allows modules and themes to alter plugin definitions at runtime,
     * which is useful for tasks like hiding specific plugins from a particular
     * user interface.
     *
     * @param string $consumer
     *   A string identifying the consumer of these plugin definitions.
     * @param \Drupal\Component\Plugin\Context\ContextInterface[]|null $contexts
     *   (optional) Either an array of contexts to use for filtering, or NULL to
     *   not filter by contexts.
     * @param mixed[] $extra
     *   (optional) An associative array containing additional information
     *   provided by the code requesting the filtered definitions.
     *
     * @return \Drupal\Component\Plugin\Definition\PluginDefinitionInterface[]|array[]
     *   An array of plugin definitions that are filtered.
     *
     * @see hook_plugin_filter_TYPE_alter()
     * @see hook_plugin_filter_TYPE__CONSUMER_alter()
     */
    public function getFilteredDefinitions($consumer, $contexts = NULL, array $extra = []);

}

Interfaces

Title Deprecated Summary
FilteredPluginManagerInterface Provides an interface for plugin managers that allow filtering definitions.

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