X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Fsrc%2FPluginBase.php;fp=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Fsrc%2FPluginBase.php;h=506a3a1397e60aa48b05719accff900f32e2ee00;hp=0000000000000000000000000000000000000000;hb=8acec36f19c470dfcda1ae2336826a782f41874c;hpb=e0411c4e83ba0d079034db83c3f7f55be24a0e35 diff --git a/web/modules/contrib/drupalmoduleupgrader/src/PluginBase.php b/web/modules/contrib/drupalmoduleupgrader/src/PluginBase.php new file mode 100644 index 000000000..506a3a139 --- /dev/null +++ b/web/modules/contrib/drupalmoduleupgrader/src/PluginBase.php @@ -0,0 +1,53 @@ +stringTranslation = $translator; + $this->log = $log; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + $arguments = [ + $configuration, + $plugin_id, + $plugin_definition, + // Always include the string translation and logging services. + $container->get('string_translation'), + $container->get('logger.factory')->get('drupalmoduleupgrader'), + ]; + + // Pull any declared dependencies out of the container. + if (isset($plugin_definition['dependencies'])) { + foreach ($plugin_definition['dependencies'] as $dependency) { + $arguments[] = $container->get($dependency); + } + } + + return (new \ReflectionClass(get_called_class()))->newInstanceArgs($arguments); + } + +}