Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 5 |
| ContainerFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 5 |
| createInstance | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 5 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Core\Plugin\Factory\ContainerFactory. | |
| */ | |
| namespace Drupal\Core\Plugin\Factory; | |
| use Drupal\Component\Plugin\Factory\DefaultFactory; | |
| /** | |
| * Plugin factory which passes a container to a create method. | |
| */ | |
| class ContainerFactory extends DefaultFactory { | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function createInstance($plugin_id, array $configuration = array()) { | |
| $plugin_definition = $this->discovery->getDefinition($plugin_id); | |
| $plugin_class = static::getPluginClass($plugin_id, $plugin_definition, $this->interface); | |
| // If the plugin provides a factory method, pass the container to it. | |
| if (is_subclass_of($plugin_class, 'Drupal\Core\Plugin\ContainerFactoryPluginInterface')) { | |
| return $plugin_class::create(\Drupal::getContainer(), $configuration, $plugin_id, $plugin_definition); | |
| } | |
| // Otherwise, create the plugin directly. | |
| return new $plugin_class($configuration, $plugin_id, $plugin_definition); | |
| } | |
| } |