Version 1
[yaffs-website] / web / core / lib / Drupal / Core / DependencyInjection / ContainerInjectionInterface.php
diff --git a/web/core/lib/Drupal/Core/DependencyInjection/ContainerInjectionInterface.php b/web/core/lib/Drupal/Core/DependencyInjection/ContainerInjectionInterface.php
new file mode 100644 (file)
index 0000000..cccf691
--- /dev/null
@@ -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);
+
+}