annotate vendor/symfony/dependency-injection/Loader/Configurator/ServiceConfigurator.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@14 1 <?php
Chris@14 2
Chris@14 3 /*
Chris@14 4 * This file is part of the Symfony package.
Chris@14 5 *
Chris@14 6 * (c) Fabien Potencier <fabien@symfony.com>
Chris@14 7 *
Chris@14 8 * For the full copyright and license information, please view the LICENSE
Chris@14 9 * file that was distributed with this source code.
Chris@14 10 */
Chris@14 11
Chris@14 12 namespace Symfony\Component\DependencyInjection\Loader\Configurator;
Chris@14 13
Chris@14 14 use Symfony\Component\DependencyInjection\ChildDefinition;
Chris@14 15 use Symfony\Component\DependencyInjection\ContainerBuilder;
Chris@14 16 use Symfony\Component\DependencyInjection\Definition;
Chris@14 17
Chris@14 18 /**
Chris@14 19 * @author Nicolas Grekas <p@tchwork.com>
Chris@14 20 */
Chris@14 21 class ServiceConfigurator extends AbstractServiceConfigurator
Chris@14 22 {
Chris@14 23 const FACTORY = 'services';
Chris@14 24
Chris@14 25 use Traits\AbstractTrait;
Chris@14 26 use Traits\ArgumentTrait;
Chris@14 27 use Traits\AutoconfigureTrait;
Chris@14 28 use Traits\AutowireTrait;
Chris@14 29 use Traits\BindTrait;
Chris@14 30 use Traits\CallTrait;
Chris@14 31 use Traits\ClassTrait;
Chris@14 32 use Traits\ConfiguratorTrait;
Chris@14 33 use Traits\DecorateTrait;
Chris@14 34 use Traits\DeprecateTrait;
Chris@14 35 use Traits\FactoryTrait;
Chris@14 36 use Traits\FileTrait;
Chris@14 37 use Traits\LazyTrait;
Chris@14 38 use Traits\ParentTrait;
Chris@14 39 use Traits\PropertyTrait;
Chris@14 40 use Traits\PublicTrait;
Chris@14 41 use Traits\ShareTrait;
Chris@14 42 use Traits\SyntheticTrait;
Chris@14 43 use Traits\TagTrait;
Chris@14 44
Chris@14 45 private $container;
Chris@14 46 private $instanceof;
Chris@14 47 private $allowParent;
Chris@14 48
Chris@14 49 public function __construct(ContainerBuilder $container, array $instanceof, $allowParent, ServicesConfigurator $parent, Definition $definition, $id, array $defaultTags)
Chris@14 50 {
Chris@14 51 $this->container = $container;
Chris@14 52 $this->instanceof = $instanceof;
Chris@14 53 $this->allowParent = $allowParent;
Chris@14 54
Chris@14 55 parent::__construct($parent, $definition, $id, $defaultTags);
Chris@14 56 }
Chris@14 57
Chris@14 58 public function __destruct()
Chris@14 59 {
Chris@14 60 parent::__destruct();
Chris@14 61
Chris@18 62 $this->container->removeBindings($this->id);
Chris@18 63
Chris@14 64 if (!$this->definition instanceof ChildDefinition) {
Chris@14 65 $this->container->setDefinition($this->id, $this->definition->setInstanceofConditionals($this->instanceof));
Chris@14 66 } else {
Chris@14 67 $this->container->setDefinition($this->id, $this->definition);
Chris@14 68 }
Chris@14 69 }
Chris@14 70 }