vendor/symfony/dependency-injection/Loader/Configurator/ServiceConfigurator.php line 50

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the Symfony package.
  4.  *
  5.  * (c) Fabien Potencier <fabien@symfony.com>
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. namespace Symfony\Component\DependencyInjection\Loader\Configurator;
  11. use Symfony\Component\DependencyInjection\ContainerBuilder;
  12. use Symfony\Component\DependencyInjection\Definition;
  13. /**
  14.  * @author Nicolas Grekas <p@tchwork.com>
  15.  */
  16. class ServiceConfigurator extends AbstractServiceConfigurator
  17. {
  18.     use Traits\AbstractTrait;
  19.     use Traits\ArgumentTrait;
  20.     use Traits\AutoconfigureTrait;
  21.     use Traits\AutowireTrait;
  22.     use Traits\BindTrait;
  23.     use Traits\CallTrait;
  24.     use Traits\ClassTrait;
  25.     use Traits\ConfiguratorTrait;
  26.     use Traits\DecorateTrait;
  27.     use Traits\DeprecateTrait;
  28.     use Traits\FactoryTrait;
  29.     use Traits\FileTrait;
  30.     use Traits\LazyTrait;
  31.     use Traits\ParentTrait;
  32.     use Traits\PropertyTrait;
  33.     use Traits\PublicTrait;
  34.     use Traits\ShareTrait;
  35.     use Traits\SyntheticTrait;
  36.     use Traits\TagTrait;
  37.     public const FACTORY 'services';
  38.     private $container;
  39.     private $instanceof;
  40.     private $allowParent;
  41.     private $path;
  42.     private $destructed false;
  43.     public function __construct(ContainerBuilder $container, array $instanceofbool $allowParentServicesConfigurator $parentDefinition $definition, ?string $id, array $defaultTagsstring $path null)
  44.     {
  45.         $this->container $container;
  46.         $this->instanceof $instanceof;
  47.         $this->allowParent $allowParent;
  48.         $this->path $path;
  49.         parent::__construct($parent$definition$id$defaultTags);
  50.     }
  51.     public function __destruct()
  52.     {
  53.         if ($this->destructed) {
  54.             return;
  55.         }
  56.         $this->destructed true;
  57.         parent::__destruct();
  58.         $this->container->removeBindings($this->id);
  59.         $this->container->setDefinition($this->id$this->definition->setInstanceofConditionals($this->instanceof));
  60.     }
  61. }