public function writeProxiesToFile($writeToFile, $proxyDirectory = null) { $this->ensureNotLocked(); $this->writeProxiesToFile = $writeToFile; if ($writeToFile && $proxyDirectory === null) { throw new InvalidArgumentException('The proxy directory must be specified if you want to write proxies on disk'); } $this->proxyDirectory = $proxyDirectory; return $this; }
/** * @param $env * @return Container */ public function getContainer($env) { $container = null; $builder = new ContainerBuilder(Container::class); // $builder = new ContainerBuilder(); foreach (glob(APP_HOME . '/conf/conf.d/*.conf.php') as $filename) { $builder->addDefinitions($filename); } $definitionsEnumFile = APP_HOME . '/conf/config.' . $env . '.php'; if (file_exists($definitionsEnumFile)) { $builder->addDefinitions($definitionsEnumFile); } $builder->useAnnotations(false); $builder->useAutowiring(true); switch ($env) { case EnvironmentEnum::DEV: $builder->setDefinitionCache(new ArrayCache()); break; case EnvironmentEnum::PROD: default: $cache = $this->getCache(); $builder->setDefinitionCache($cache); $builder->writeProxiesToFile(true, APP_HOME . '/var/cache/proxies'); break; } $container = $builder->build(); return $container; }