function LanguageNegotiationMethodManager::__construct

Same name and namespace in other branches
  1. 10 core/modules/language/src/LanguageNegotiationMethodManager.php \Drupal\language\LanguageNegotiationMethodManager::__construct()
  2. 11.x core/modules/language/src/LanguageNegotiationMethodManager.php \Drupal\language\LanguageNegotiationMethodManager::__construct()
  3. 9 core/modules/language/src/LanguageNegotiationMethodManager.php \Drupal\language\LanguageNegotiationMethodManager::__construct()
  4. 8.9.x core/modules/language/src/LanguageNegotiationMethodManager.php \Drupal\language\LanguageNegotiationMethodManager::__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

File

core/modules/language/src/LanguageNegotiationMethodManager.php, line 16

Class

LanguageNegotiationMethodManager
Manages language negotiation methods.

Namespace

Drupal\language

Code

public function __construct(#[Autowire(service: 'container.namespaces')] \Traversable $namespaces, #[Autowire(service: 'cache.discovery')] CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) {
  parent::__construct('Plugin/LanguageNegotiation', $namespaces, $module_handler, LanguageNegotiationMethodInterface::class, LanguageNegotiation::class, 'Drupal\\language\\Annotation\\LanguageNegotiation');
  $this->cacheBackend = $cache_backend;
  $this->setCacheBackend($cache_backend, 'language_negotiation_plugins');
  $this->alterInfo('language_negotiation_info');
}

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