You are here

public function SelectionPluginManager::__construct in Multi-path autocomplete 8

Creates the discovery object.

Parameters

string|bool $subdir: The plugin's subdirectory, for example Plugin/views/filter.

\Traversable $namespaces: An object that implements \Traversable which contains the root paths keyed by the corresponding namespace to look for plugin implementations.

\Drupal\Core\Extension\ModuleHandlerInterface $module_handler: The module handler.

string|null $plugin_interface: (optional) The interface each plugin should implement.

string $plugin_definition_annotation_name: (optional) The name of the annotation that contains the plugin definition. Defaults to 'Drupal\Component\Annotation\Plugin'.

string[] $additional_annotation_namespaces: (optional) Additional namespaces to scan for annotation definitions.

Overrides DefaultPluginManager::__construct

File

lib/Drupal/mpac/Plugin/Type/SelectionPluginManager.php, line 29
Contains \Drupal\mpac\Plugin\Type\SelectionPluginManager.

Class

SelectionPluginManager
Plugin type manager for the Multi-path autocomplete Selection plugin.

Namespace

Drupal\mpac\Plugin\Type

Code

public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, LanguageManager $language_manager, ModuleHandlerInterface $module_handler) {
  $this->discovery = new AnnotatedClassDiscovery('Plugin/mpac/selection', $namespaces, 'Drupal\\mpac\\Annotation\\MpacSelection');

  // We're not using the parent constructor because we use a different factory
  // method and don't need the derivative discovery decorator.
  $this->factory = new ReflectionFactory($this);
  $this
    ->alterInfo($module_handler, 'mpac_selection');
  $this
    ->setCacheBackend($cache_backend, $language_manager, 'mpac_selection');
}