Explorar o código

[DependencyInjection] added methods to remove an alias and a definition from a ContainerBuilder instance

Fabien Potencier %!s(int64=15) %!d(string=hai) anos
pai
achega
af96c87104

+ 20 - 0
src/Symfony/Component/DependencyInjection/ContainerBuilder.php

@@ -139,6 +139,16 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
         parent::set($id, $service);
     }
 
+    /**
+     * Removes a service.
+     *
+     * @param string $id The service identifier
+     */
+    public function remove($id)
+    {
+        unset($this->definitions[$id]);
+    }
+
     /**
      * Returns true if the given service is defined.
      *
@@ -332,6 +342,16 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
         $this->aliases[$alias] = $id;
     }
 
+    /**
+     * Removes an alias.
+     *
+     * @param string $alias The alias to remove
+     */
+    public function removeAlias($alias)
+    {
+        unset($this->aliases[$alias]);
+    }
+
     /**
      * Returns true if an alias exists under the given identifier.
      *