/**
  * Get project environment
  *
  * @return string
  */
 public function getEnvironment()
 {
     try {
         return (string) $this->container->get('thinframe.karma.environment');
     } catch (\Exception $e) {
         return 'production';
     }
 }
Exemplo n.º 2
0
 /**
  * Loads a specific configuration.
  *
  * @param array            $config    An array of configuration values
  * @param ContainerBuilder $container A ContainerBuilder instance
  *
  * @throws \InvalidArgumentException When provided tag is not defined in this extension
  *
  * @api
  */
 public function load(array $config, ContainerBuilder $container)
 {
     if (isset($config[0])) {
         foreach ($config[0] as $configFile) {
             $this->applicationContainer->import($configFile);
         }
     }
 }
 /**
  * Configure container
  *
  * @param ApplicationContainerBuilder $container
  */
 public function configureContainer(ApplicationContainerBuilder $container)
 {
     foreach ($this->getExtensions() as $extension) {
         $container->registerExtension($extension);
     }
     foreach ($this->getCompilerPasses() as $compilerPass) {
         $container->addCompilerPass($compilerPass);
     }
     foreach ($this->getAwareDefinitions() as $definition) {
         $container->addAwareDefinition($definition);
     }
 }
 /**
  * @param array $loadedApplications
  *
  * @return ApplicationContainerBuilder
  */
 public function getApplicationContainer(&$loadedApplications = array())
 {
     if (!$this->containerBuilderCompiled) {
         if (count($loadedApplications) == 0) {
             $parent = true;
         } else {
             $parent = false;
         }
         foreach ($this->parentApplications as $app) {
             if (in_array(get_class($app), $loadedApplications)) {
                 continue;
             }
             $loadedApplications[] = get_class($app);
             $this->containerBuilder->merge($app->getApplicationContainer($loadedApplications));
         }
         $this->configure($this->containerBuilder);
         foreach ($this->getConfigurationFiles() as $file) {
             $this->containerBuilder->import($file);
         }
         if ($parent) {
             //setting syntetic services
             $definition = new Definition();
             $definition->setSynthetic(true);
             //inserting container as service
             $this->containerBuilder->setDefinition('container', $definition);
             $this->containerBuilder->set('container', $this->containerBuilder);
             //inserting application as service
             $this->containerBuilder->setDefinition('application', clone $definition);
             $this->containerBuilder->set('application', $this);
             $this->containerBuilder->compile();
         }
     }
     return $this->containerBuilder;
 }