function DefaultsTestPluginManager::__construct
Same name in other branches
- 9 core/modules/system/tests/modules/plugin_test/src/Plugin/DefaultsTestPluginManager.php \Drupal\plugin_test\Plugin\DefaultsTestPluginManager::__construct()
- 8.9.x core/modules/system/tests/modules/plugin_test/src/Plugin/DefaultsTestPluginManager.php \Drupal\plugin_test\Plugin\DefaultsTestPluginManager::__construct()
- 11.x core/modules/system/tests/modules/plugin_test/src/Plugin/DefaultsTestPluginManager.php \Drupal\plugin_test\Plugin\DefaultsTestPluginManager::__construct()
Constructs a new DefaultsTestPluginManager instance.
Parameters
\Drupal\Core\Extension\ModuleHandlerInterface $module_handler: The module handler.
Overrides DefaultPluginManager::__construct
File
-
core/
modules/ system/ tests/ modules/ plugin_test/ src/ Plugin/ DefaultsTestPluginManager.php, line 21
Class
- DefaultsTestPluginManager
- Defines a plugin manager used by Plugin API unit tests.
Namespace
Drupal\plugin_test\PluginCode
public function __construct(ModuleHandlerInterface $module_handler) {
// Create the object that can be used to return definitions for all the
// plugins available for this type. Most real plugin managers use a richer
// discovery implementation, but StaticDiscovery lets us add some simple
// mock plugins for unit testing.
$this->discovery = new StaticDiscovery();
$this->factory = new DefaultFactory($this, 'Drupal\\Component\\Plugin\\PluginInspectionInterface');
$this->moduleHandler = $module_handler;
// Specify default values.
$this->defaults = [
'metadata' => [
'default' => TRUE,
],
];
// Add a plugin with a custom value.
$this->discovery
->setDefinition('test_block1', [
'class' => 'Drupal\\plugin_test\\Plugin\\plugin_test\\mock_block\\MockTestBlock',
'metadata' => [
'custom' => TRUE,
],
]);
// Add a plugin that overrides the default value.
$this->discovery
->setDefinition('test_block2', [
'class' => 'Drupal\\plugin_test\\Plugin\\plugin_test\\mock_block\\MockTestBlock',
'metadata' => [
'custom' => TRUE,
'default' => FALSE,
],
]);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.