You are here

public function OpignoGroupContentTypesManager::__construct in Opigno group manager 3.x

Same name and namespace in other branches
  1. 8 src/OpignoGroupContentTypesManager.php \Drupal\opigno_group_manager\OpignoGroupContentTypesManager::__construct()

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

src/OpignoGroupContentTypesManager.php, line 17

Class

OpignoGroupContentTypesManager
Class OpignoGroupContentTypesManager.

Namespace

Drupal\opigno_group_manager

Code

public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) {

  // Construct the object. It needs:
  // - The subdir where the plugin must be implemented in other modules.
  // - The namespace
  // - The module handler
  // - The interface the implementation must implements. (In this case,
  // the implementation must extends the class ContentTypeBase)
  // - The annotation class.
  parent::__construct('Plugin/OpignoGroupManagerContentType', $namespaces, $module_handler, 'Drupal\\opigno_group_manager\\ContentTypeInterface', 'Drupal\\opigno_group_manager\\Annotation\\OpignoGroupManagerContentType');

  // Always useful to add an alter hook available.
  $this
    ->alterInfo('opigno_group_content_type_alter');

  // Set a cache to speed up the retrieving process.
  $this
    ->setCacheBackend($cache_backend, 'opigno_group_content_types');
}