소스 검색

Fixed bug: DI losses custom method calls

XianN 14 년 전
부모
커밋
1fa4b757a6
1개의 변경된 파일5개의 추가작업 그리고 2개의 파일을 삭제
  1. 5 2
      DependencyInjection/AddDependencyCallsPass.php

+ 5 - 2
DependencyInjection/AddDependencyCallsPass.php

@@ -39,8 +39,11 @@ class AddDependencyCallsPass implements CompilerPassInterface
         foreach ($container->findTaggedServiceIds('sonata.admin') as $id => $attributes) {
 
             $definition = $container->getDefinition($id);
-            $calls = array(array('setCode', array($id))) + $definition->getMethodCalls();
-            $definition->setMethodCalls($calls);
+
+            if (!$definition->hasMethodCall('setCode')) {
+                $definition->addMethodCall('setCode', array($id));
+            }
+
             $this->applyDefaults($definition, $attributes);
 
             $arguments = $definition->getArguments();