/** * {@inheritdoc} */ public function initialize(KernelInterface $kernel) { $env = $kernel->getEnvironmentManager()->getEnv(); if (empty($this->environments)) { foreach ($kernel->registerEnvironments() as $environment) { $name = $environment->getName(); $this->assertUnregisteredEnvironment($name); $this->environments[$name] = $environment; } } if (!isset($this->environments[$env])) { throw new RuntimeException(sprintf('Environment "%s" is not registered.', $env)); } $env = $this->environments[$env]; $env->build($kernel); $kernel->getEnvironmentManager()->setEnvInstance($env); }
/** * {@inheritdoc} */ public function initialize(KernelInterface $kernel) { $this->container = $kernel->getContainer(); $this->serviceLocator = $kernel->getServiceLocator(); $env = $kernel->getEnvironmentManager()->getEnvInstance(); $resolver = $this->container->getParameterBag()->getResolver(); $configs = (array) $env->registerConfigurations(); $configs = $this->getResource()->process(new FileLoader(), $configs); $this->loadParametersFromConfig($configs); $this->loadServicesFromConfig($configs); // Append configuration by extension foreach ($resolver->resolveValue($configs) as $alias => $config) { if (!$this->getExtension()->has($alias)) { throw new RuntimeException(sprintf('Extension with alias "%s" not found.', $alias)); } $extension = $this->getExtension()->get($alias); $this->getConfiguration()->prepend($extension->getConfigDefinition(), array($config)); } }
/** * {@inheritdoc} */ public function initialize(KernelInterface $kernel) { $middlewareContainer = $kernel->getMiddleware(); $container = $kernel->getContainer(); $env = $kernel->getEnvironmentManager()->getEnvInstance(); $middlewareContainer->setContainer($container); $bundleMiddlewares = (array) $kernel->registerMiddlewares(); $envMiddlewares = (array) $env->registerMiddlewares(); foreach (array_merge($bundleMiddlewares, $envMiddlewares) as $middleware) { if ($middleware instanceof MiddlewareInterface) { if ($middleware instanceof ContainerAwareInterface) { $middleware->setContainer($container); } $middlewareContainer->set($middleware); continue; } throw new InvalidArgumentException(sprintf('Class "%s" should implement "%s".', get_class($middleware), 'Borobudur\\Kernel\\Middleware\\MiddlewareInterface')); } }
/** * Get bundles. * * @param KernelInterface $kernel * * @return array */ private function getBundles(KernelInterface $kernel) { $env = $kernel->getEnvironmentManager()->getEnvInstance(); return array_merge((array) $kernel->registerBundles(), (array) $env->registerBundles()); }