|
@@ -443,13 +443,11 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
|
|
return $this->aliases[$id];
|
|
return $this->aliases[$id];
|
|
}
|
|
}
|
|
|
|
|
|
- public function addInterfaceInjectors(array $injectors)
|
|
|
|
- {
|
|
|
|
- foreach ($injectors as $injector) {
|
|
|
|
- $this->addInterfaceInjector($injector);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Adds an InterfaceInjector.
|
|
|
|
+ *
|
|
|
|
+ * @param InterfaceInjector $injector
|
|
|
|
+ */
|
|
public function addInterfaceInjector(InterfaceInjector $injector)
|
|
public function addInterfaceInjector(InterfaceInjector $injector)
|
|
{
|
|
{
|
|
$class = $injector->getClass();
|
|
$class = $injector->getClass();
|
|
@@ -460,6 +458,26 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
|
|
$this->injectors[$class] = $injector;
|
|
$this->injectors[$class] = $injector;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Adds multiple InterfaceInjectors.
|
|
|
|
+ *
|
|
|
|
+ * @param array $injectors An array of InterfaceInjectors
|
|
|
|
+ */
|
|
|
|
+ public function addInterfaceInjectors(array $injectors)
|
|
|
|
+ {
|
|
|
|
+ foreach ($injectors as $injector) {
|
|
|
|
+ $this->addInterfaceInjector($injector);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * Gets defined InterfaceInjectors. If a service is provided, only that
|
|
|
|
+ * support the service will be returned.
|
|
|
|
+ *
|
|
|
|
+ * @param string $service If provided, only injectors supporting this service will be returned
|
|
|
|
+ *
|
|
|
|
+ * @return array An array of InterfaceInjectors
|
|
|
|
+ */
|
|
public function getInterfaceInjectors($service = null)
|
|
public function getInterfaceInjectors($service = null)
|
|
{
|
|
{
|
|
if (null === $service) {
|
|
if (null === $service) {
|
|
@@ -471,6 +489,23 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Returns true if an InterfaceInjector is defined for the class.
|
|
|
|
+ *
|
|
|
|
+ * @param string $class The class
|
|
|
|
+ *
|
|
|
|
+ * @return boolean true if at least one InterfaceInjector is defined, false otherwise
|
|
|
|
+ */
|
|
|
|
+ public function hasInterfaceInjectorForClass($class)
|
|
|
|
+ {
|
|
|
|
+ return array_key_exists($class, $this->injectors);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * Sets the defined InterfaceInjectors.
|
|
|
|
+ *
|
|
|
|
+ * @param array $injectors An array of InterfaceInjectors indexed by class names
|
|
|
|
+ */
|
|
public function setInterfaceInjectors(array $injectors)
|
|
public function setInterfaceInjectors(array $injectors)
|
|
{
|
|
{
|
|
$this->injectors = $injectors;
|
|
$this->injectors = $injectors;
|