Example #1
0
 /**
  * @return ContainerInterface
  */
 public function startContainer()
 {
     if (true === $this->isStarted()) {
         return $this->container;
     }
     $configAsArray = iterator_to_array($this->config->getIterator());
     $this->internalConfig['parameters'] = $configAsArray;
     $this->container = $this->createContainer(new ArrayConfig($this->internalConfig));
     $loggerFactory = new LoggerFactory($this->config->get('debug'), $this->config->get('log_dir'));
     $this->container->bind('LoggerFactory', $loggerFactory);
     if (null !== $this->router) {
         // Keep compatibility, use the right type hint in the application as usual (UrlGeneratorInterface, UrlMatcherInterface)
         $this->container->bind('UrlMatcher', $this->router->getUrlMatcher());
         $this->container->bind('UrlGenerator', $this->router->getUrlGenerator());
         $this->container->bind('RouteCollection', $this->router->getRouteCollection());
     }
     $this->container->bind('AppLogger', $this->loggerFactory->getLogger('app'));
     $this->started = true;
     return $this->container;
 }