function LocalActionManager::__construct

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Menu/LocalActionManager.php \Drupal\Core\Menu\LocalActionManager::__construct()
  2. 10 core/lib/Drupal/Core/Menu/LocalActionManager.php \Drupal\Core\Menu\LocalActionManager::__construct()
  3. 9 core/lib/Drupal/Core/Menu/LocalActionManager.php \Drupal\Core\Menu\LocalActionManager::__construct()
  4. 8.9.x core/lib/Drupal/Core/Menu/LocalActionManager.php \Drupal\Core\Menu\LocalActionManager::__construct()

Constructs a new \Drupal\Core\Plugin\DefaultPluginManager object.

@todo $plugin_definition_attribute_name should default to 'Drupal\Component\Plugin\Attribute\Plugin' once annotations are no longer supported.

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|null $plugin_definition_attribute_name: (optional) The name of the attribute that contains the plugin definition.

string|array|null $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

1 method overrides LocalActionManager::__construct()
TestLocalActionManager::__construct in core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php

File

core/lib/Drupal/Core/Menu/LocalActionManager.php, line 63

Class

LocalActionManager
Provides the default local action manager using YML as primary definition.

Namespace

Drupal\Core\Menu

Code

public function __construct(protected ArgumentResolverInterface $argumentResolver, protected RequestStack $requestStack, protected RouteMatchInterface $routeMatch, protected RouteProviderInterface $routeProvider, ModuleHandlerInterface $module_handler, CacheBackendInterface $cache_backend, protected LanguageManagerInterface $languageManager, protected AccessManagerInterface $accessManager, protected AccountInterface $account, ?CacheCollectorInterface $yaml_cache_collector = NULL) {
  if (!isset($yaml_cache_collector)) {
    @trigger_error('Calling ' . __METHOD__ . '() without the $yamlCacheCollector argument is deprecated in drupal:11.5.0 and it will be required in drupal:12.0.0. See https://www.drupal.org/project/drupal/issues/3593485', E_USER_DEPRECATED);
    $yaml_cache_collector = \Drupal::service('local_action.yaml_cache_collector');
  }
  $this->yamlCacheCollector = $yaml_cache_collector;
  // Skip calling the parent constructor, since that assumes annotation-based
  // discovery.
  $this->moduleHandler = $module_handler;
  $this->factory = new ContainerFactory($this, 'Drupal\\Core\\Menu\\LocalActionInterface');
  $this->alterInfo('menu_local_actions');
  $this->setCacheBackend($cache_backend, 'local_action_plugins:' . $this->languageManager
    ->getCurrentLanguage()
    ->getId());
}

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