Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/DependencyInjection/ContainerInjectionInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/DependencyInjection/ContainerInjectionInterface.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,28 @@ +<?php + +namespace Drupal\Core\DependencyInjection; + +use Symfony\Component\DependencyInjection\ContainerInterface; + +/** + * Defines a common interface for dependency container injection. + * + * This interface gives classes who need services a factory method for + * instantiation rather than defining a new service. + */ +interface ContainerInjectionInterface { + + /** + * Instantiates a new instance of this class. + * + * This is a factory method that returns a new instance of this class. The + * factory should pass any needed dependencies into the constructor of this + * class, but not the container itself. Every call to this method must return + * a new instance of this class; that is, it may not implement a singleton. + * + * @param \Symfony\Component\DependencyInjection\ContainerInterface $container + * The service container this instance should use. + */ + public static function create(ContainerInterface $container); + +}