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);
+
+}