diff --git a/src/DI/ContainerBuilder.php b/src/DI/ContainerBuilder.php index 441db8f21..b95b3f5a2 100644 --- a/src/DI/ContainerBuilder.php +++ b/src/DI/ContainerBuilder.php @@ -806,6 +806,7 @@ public function formatPhp($statement, $args) $val = self::literal($this->formatStatement($val)); } elseif ($val === $this) { + trigger_error("Replace object ContainerBuilder in Statement arguments with '@container'.", E_USER_DEPRECATED); $val = self::literal('$this'); } elseif ($val instanceof ServiceDefinition) { @@ -875,6 +876,7 @@ public function normalizeEntity($entity) $entity = '@' . current(array_keys($this->definitions, $entity, TRUE)); } elseif (is_array($entity) && $entity[0] === $this) { // [$this, ...] -> [@container, ...] + trigger_error("Replace object ContainerBuilder in Statement entity with '@container'.", E_USER_DEPRECATED); $entity[0] = '@' . self::THIS_CONTAINER; } return $entity; // Class, @service, [Class, member], [@service, member], [, globalFunc], Statement diff --git a/tests/DI/ContainerBuilder.basic.phpt b/tests/DI/ContainerBuilder.basic.phpt index 62de7ee46..b61b66c1c 100644 --- a/tests/DI/ContainerBuilder.basic.phpt +++ b/tests/DI/ContainerBuilder.basic.phpt @@ -55,7 +55,7 @@ $six = $builder->addDefinition('six') ->addSetup(['@six', 'methodA'], ['a', 'b']); $builder->addDefinition('seven') - ->setFactory([$six, 'create'], [$builder, $six]) + ->setFactory([$six, 'create'], ['@container', $six]) ->addSetup([$six, 'methodA']) ->addSetup('$service->methodA(?)', ['a']);