瀏覽代碼

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

Fabien Potencier 15 年之前
父節點
當前提交
af96c87104
共有 1 個文件被更改,包括 20 次插入0 次删除
  1. 20 0
      src/Symfony/Component/DependencyInjection/ContainerBuilder.php

+ 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.
      *