Пример #1
0
 /**
  * Based heavily on \Symfony\Component\DependencyInjection\Compiler\MergeExtensionConfigurationPass.
  *
  * @param tubepress_api_ioc_ContainerBuilderInterface $self
  *
  * @api
  */
 public function process(tubepress_api_ioc_ContainerBuilderInterface $self)
 {
     $parameters = $this->_delegateContainerBuilder->getParameterBag()->all();
     /**
      * These will all be tubepress_internal_ioc_Definition instances
      */
     $definitions = $self->getDefinitions();
     /**
      * @var $extension tubepress_spi_ioc_ContainerExtensionInterface
      */
     foreach ($this->_tubePressContainerExtensions as $extension) {
         $tmpContainer = new tubepress_internal_ioc_ContainerBuilder($this->_delegateContainerBuilder->getParameterBag());
         $extension->load($tmpContainer);
         $this->merge($tmpContainer);
     }
     $self->addDefinitions($definitions);
     $this->_delegateContainerBuilder->getParameterBag()->add($parameters);
 }