/** * @param Configuration $configuration * * @return Container */ public function build(Configuration $configuration) { if (!$this->filesystem->isCacheFresh()) { $container = $this->compile($configuration); $this->filesystem->dump($container); } return $this->containerLoader->loadFrom($configuration->getContainerFilePath()); }
/** * @param Configuration $configuration * * @return Container */ public function build(Configuration $configuration) { $containerFilePath = $configuration->getContainerFilePath(); $containerHasBeenBuilt = $this->filesystem->exists($containerFilePath); $isDebug = $configuration->getDebug(); if ($isDebug) { $container = $this->compile($configuration); } else { if ($containerHasBeenBuilt) { $container = $this->containerLoader->loadFrom($containerFilePath); } else { $container = $this->compile($configuration); $this->filesystem->dump($container); } } return $container; }
function it_loads_an_existing_container_if_it_exists_when_not_in_debug_mode(ContainerBuilder $containerBuilder, ContainerLoader $containerLoader, Filesystem $filesystem, Configuration $configuration) { $configuration->getDebug()->willReturn(false); $filesystem->exists(Argument::any())->willReturn(true); $filesystem->dump(Argument::any())->shouldNotBeCalled(); $containerLoader->loadFrom($this->containerFile)->willReturn($containerBuilder); $this->build($configuration)->shouldReturn($containerBuilder); }
function let(Loader $loader, ContainerLoader $containerLoader, Filesystem $filesystem, ContainerBuilder $containerBuilder, Configuration $configuration) { $configuration->getServicesFormat()->willReturn('xml'); $configuration->getServicesFolders()->willReturn([]); $configuration->getContainerFilePath()->willReturn($this->containerFile); $configuration->getCompilerPasses()->willReturn([]); $containerLoader->loadFrom($this->containerFile)->willReturn($containerBuilder); $this->beConstructedWith($loader, $containerLoader, $filesystem); }