You are here

public function SectionStorageManager::__construct in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/layout_builder/src/SectionStorage/SectionStorageManager.php \Drupal\layout_builder\SectionStorage\SectionStorageManager::__construct()

Constructs a new SectionStorageManager object.

Parameters

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

\Drupal\Core\Cache\CacheBackendInterface $cache_backend: Cache backend instance to use.

\Drupal\Core\Extension\ModuleHandlerInterface $module_handler: The module handler to invoke the alter hook with.

\Drupal\Core\Plugin\Context\ContextHandlerInterface $context_handler: The context handler.

Overrides DefaultPluginManager::__construct

File

core/modules/layout_builder/src/SectionStorage/SectionStorageManager.php, line 45

Class

SectionStorageManager
Provides the Section Storage type plugin manager.

Namespace

Drupal\layout_builder\SectionStorage

Code

public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler, ContextHandlerInterface $context_handler = NULL) {
  parent::__construct('Plugin/SectionStorage', $namespaces, $module_handler, SectionStorageInterface::class, SectionStorage::class);
  if (!$context_handler) {
    @trigger_error('The context.handler service must be passed to \\Drupal\\layout_builder\\SectionStorage\\SectionStorageManager::__construct(); it was added in Drupal 8.7.0 and will be required before Drupal 9.0.0.', E_USER_DEPRECATED);
    $context_handler = \Drupal::service('context.handler');
  }
  $this->contextHandler = $context_handler;
  $this
    ->alterInfo('layout_builder_section_storage');
  $this
    ->setCacheBackend($cache_backend, 'layout_builder_section_storage_plugins');
}