@@ -94,8 +94,8 @@ duplicated service definitions:
9494
9595 use AppBundle\Repository\DoctrineUserRepository;
9696 use AppBundle\Repository\DoctrinePostRepository;
97+ use Symfony\Component\DependencyInjection\ChildDefinition;
9798 use Symfony\Component\DependencyInjection\Reference;
98- use Symfony\Component\DependencyInjection\DefinitionDecorator;
9999
100100 // as no class is configured, the parent service MUST be abstract
101101 $container->register('app.base_doctrine_repository')
@@ -104,12 +104,13 @@ duplicated service definitions:
104104 ;
105105
106106 // extend the app.base_doctrine_repository service
107- $definition = new DefinitionDecorator ('app.base_doctrine_repository');
107+ $definition = new ChildDefinition ('app.base_doctrine_repository');
108108 $definition->setClass(DoctrineUserRepository::class);
109109 $container->setDefinition('app.user_repository', $definition);
110110
111- $definition = new DefinitionDecorator ('app.base_doctrine_repository');
111+ $definition = new ChildDefinition ('app.base_doctrine_repository');
112112 $definition->setClass(DoctrinePostRepository::class);
113+
113114 $container->setDefinition('app.post_repository', $definition);
114115
115116 // ...
@@ -201,19 +202,19 @@ in the child class:
201202
202203 use AppBundle\Repository\DoctrineUserRepository;
203204 use AppBundle\Repository\DoctrinePostRepository;
205+ use Symfony\Component\DependencyInjection\ChildDefinition;
204206 use Symfony\Component\DependencyInjection\Reference;
205- use Symfony\Component\DependencyInjection\DefinitionDecorator;
206207 // ...
207208
208- $definition = new DefinitionDecorator ('app.base_doctrine_repository');
209+ $definition = new ChildDefinition ('app.base_doctrine_repository');
209210 $definition->setClass(DoctrineUserRepository::class);
210211 // overrides the public setting of the parent service
211212 $definition->setPublic(false);
212213 // appends the '@app.username_checker' argument to the parent argument list
213214 $definition->addArgument(new Reference('app.username_checker'));
214215 $container->setDefinition('app.user_repository', $definition);
215216
216- $definition = new DefinitionDecorator ('app.base_doctrine_repository');
217+ $definition = new ChildDefinition ('app.base_doctrine_repository');
217218 $definition->setClass(DoctrinePostRepository::class);
218219 // overrides the first argument
219220 $definition->replaceArgument(0, new Reference('doctrine.custom_entity_manager'));
0 commit comments