瀏覽代碼

Merge remote branch 'lsmith77/prevent_redundant_DI_method_calls'

* lsmith77/prevent_redundant_DI_method_calls:
  do not add method calls from interface injection if a method call has already been set manually
Fabien Potencier 14 年之前
父節點
當前提交
0d61ae06b4
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      src/Symfony/Component/DependencyInjection/InterfaceInjector.php

+ 3 - 1
src/Symfony/Component/DependencyInjection/InterfaceInjector.php

@@ -76,7 +76,9 @@ class InterfaceInjector
 
 
         foreach ($this->calls as $callback) {
         foreach ($this->calls as $callback) {
             list($method, $arguments) = $callback;
             list($method, $arguments) = $callback;
-            $definition->addMethodCall($method, $arguments);
+            if (!$definition->hasMethodCall($method)) {
+                $definition->addMethodCall($method, $arguments);
+            }
         }
         }
 
 
         $this->processedDefinitions[] = $definition;
         $this->processedDefinitions[] = $definition;