瀏覽代碼

[DepdenencyInjection] Prevent self-referencing aliases

Jordi Boggiano 14 年之前
父節點
當前提交
98e035b963
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      src/Symfony/Component/DependencyInjection/ContainerBuilder.php

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

@@ -427,6 +427,10 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
             throw new \InvalidArgumentException('$id must be a string, or an Alias object.');
         }
 
+        if ($alias === strtolower($id)) {
+            throw new \InvalidArgumentException('An alias can not reference itself, got a circular reference on "'.$alias.'".');
+        }
+
         unset($this->definitions[$alias]);
 
         $this->aliases[$alias] = $id;