/** * Load parameters from config. * * @param array $configs */ private function loadParametersFromConfig(array &$configs) { if (isset($configs['parameters']) && is_array($configs['parameters'])) { $this->container->getParameterBag()->add(array_merge($configs['parameters'], $this->envs)); unset($configs['parameters']); } }
/** * Constructor. * * @param ContainerBuilder $container * @param array $bundles */ public function __construct(ContainerBuilder $container, array $bundles) { $this->resolver = $container->getParameterBag()->getResolver(); foreach ($bundles as $bundle) { if ($bundle instanceof BundleInterface) { $this->bundlesPath['@' . $bundle->getName()] = $bundle->getPath(); } } }
/** * Load registered extensions. * * @param Configuration $configuration * @param ContainerBuilder $container */ public function load(Configuration $configuration, ContainerBuilder $container) { $resolver = $container->getParameterBag()->getResolver(); foreach ($this->extension as $alias => $extension) { $extension->initialize($configuration, $container); if ($extension instanceof PrependConfigInterface) { $extension->prepend($container); } $extension->load($resolver->resolveValue($configuration->get($alias)), $container); } }
/** * Normalize array service parameters. * * @param array $service * @param string $index * * @return array */ private function normalizeParameters(array $service, $index) { if (!$this->isValidArrayParameters($service, $index)) { return array(); } $resolver = $this->container->getParameterBag()->getResolver(); $normalized = array(); foreach ($service[$index] as $index => $value) { $normalized[$index] = $this->computeValue($value, $resolver); } return $resolver->resolveValue($normalized); }
/** * Load resource file. * * @param string $fileName * * @return array */ protected final function loadResource($fileName) { $resolver = $this->container->getParameterBag()->getResolver(); $fileName = $resolver->resolveString($this->getBundlePath() . '/' . ltrim($fileName, '/')); $resources = $this->loader->import(new FileLocator($fileName)); $resources = $this->resource->process($this->loader, $resources); if (isset($resources['parameters']) && is_array($resources['parameters'])) { foreach ($resources['parameters'] as $name => $param) { if (!$this->container->getParameterBag()->has($name)) { $this->container->getParameterBag()->set($name, $param); } } } return $resolver->resolveValue($resources); }
/** * Load extension. * * @param array $configs * @param ContainerBuilder $container */ public function load(array $configs, ContainerBuilder $container) { $container->getParameterBag()->set('app.locale', $configs['locale']); $container->getParameterBag()->set('app.port', $configs['port']); $container->load($this->loadResource('Resources/configs/services.yml')); }
/** * @return string */ private function getDefaultLog() { return $this->container->getParameterBag()->getResolver()->resolveString('%kernel.root_dir%/../var/log/%kernel.environment%/server.log'); }