/** * {@inheritdoc} */ public function warmUp($cacheDir) { $adapter = new PhpArrayAdapter($this->phpArrayFile, $this->fallbackPool); $annotatedClassPatterns = $cacheDir . '/annotations.map'; if (!is_file($annotatedClassPatterns)) { $adapter->warmUp(array()); return; } $annotatedClasses = (include $annotatedClassPatterns); $arrayPool = new ArrayAdapter(0, false); $reader = new CachedReader($this->annotationReader, new DoctrineProvider($arrayPool)); $throwingAutoloader = function ($class) { throw new \ReflectionException(sprintf('Class %s does not exist', $class)); }; spl_autoload_register($throwingAutoloader); try { foreach ($annotatedClasses as $class) { try { $this->readAllComponents($reader, $class); } catch (\ReflectionException $e) { // ignore failing reflection } } } finally { spl_autoload_unregister($throwingAutoloader); } $values = $arrayPool->getValues(); $adapter->warmUp($values); foreach ($values as $k => $v) { $item = $this->fallbackPool->getItem($k); $this->fallbackPool->saveDeferred($item->set($v)); } $this->fallbackPool->commit(); }
/** * {@inheritdoc} */ public function warmUp($cacheDir) { $adapter = new PhpArrayAdapter($this->phpArrayFile, $this->fallbackPool); $annotatedClassPatterns = $cacheDir . '/annotations.map'; if (!is_file($annotatedClassPatterns)) { $adapter->warmUp(array()); return; } $annotatedClasses = (include $annotatedClassPatterns); $arrayPool = new ArrayAdapter(0, false); $reader = new CachedReader($this->annotationReader, new DoctrineProvider($arrayPool)); foreach ($annotatedClasses as $class) { $this->readAllComponents($reader, $class); } $values = $arrayPool->getValues(); $adapter->warmUp($values); foreach ($values as $k => $v) { $item = $this->fallbackPool->getItem($k); $this->fallbackPool->saveDeferred($item->set($v)); } $this->fallbackPool->commit(); }
/** * {@inheritdoc} */ public function warmUp($cacheDir) { if (!class_exists(CacheClassMetadataFactory::class) || !method_exists(XmlFileLoader::class, 'getMappedClasses') || !method_exists(YamlFileLoader::class, 'getMappedClasses')) { return; } $adapter = new PhpArrayAdapter($this->phpArrayFile, $this->fallbackPool); $arrayPool = new ArrayAdapter(0, false); $metadataFactory = new CacheClassMetadataFactory(new ClassMetadataFactory(new LoaderChain($this->loaders)), $arrayPool); foreach ($this->extractSupportedLoaders($this->loaders) as $loader) { foreach ($loader->getMappedClasses() as $mappedClass) { $metadataFactory->getMetadataFor($mappedClass); } } $values = $arrayPool->getValues(); $adapter->warmUp($values); foreach ($values as $k => $v) { $item = $this->fallbackPool->getItem($k); $this->fallbackPool->saveDeferred($item->set($v)); } $this->fallbackPool->commit(); }
/** * {@inheritdoc} */ public function warmUp($cacheDir) { if (!method_exists($this->validatorBuilder, 'getLoaders')) { return; } $adapter = new PhpArrayAdapter($this->phpArrayFile, $this->fallbackPool); $arrayPool = new ArrayAdapter(0, false); $loaders = $this->validatorBuilder->getLoaders(); $metadataFactory = new LazyLoadingMetadataFactory(new LoaderChain($loaders), new Psr6Cache($arrayPool)); foreach ($this->extractSupportedLoaders($loaders) as $loader) { foreach ($loader->getMappedClasses() as $mappedClass) { $metadataFactory->getMetadataFor($mappedClass); } } $values = $arrayPool->getValues(); $adapter->warmUp($values); foreach ($values as $k => $v) { $item = $this->fallbackPool->getItem($k); $this->fallbackPool->saveDeferred($item->set($v)); } $this->fallbackPool->commit(); }
/** * {@inheritdoc} */ public function warmUp($cacheDir) { if (!method_exists($this->validatorBuilder, 'getLoaders')) { return; } $adapter = new PhpArrayAdapter($this->phpArrayFile, $this->fallbackPool); $arrayPool = new ArrayAdapter(0, false); $loaders = $this->validatorBuilder->getLoaders(); $metadataFactory = new LazyLoadingMetadataFactory(new LoaderChain($loaders), new Psr6Cache($arrayPool)); $throwingAutoloader = function ($class) { throw new \ReflectionException(sprintf('Class %s does not exist', $class)); }; spl_autoload_register($throwingAutoloader); try { foreach ($this->extractSupportedLoaders($loaders) as $loader) { foreach ($loader->getMappedClasses() as $mappedClass) { try { if ($metadataFactory->hasMetadataFor($mappedClass)) { $metadataFactory->getMetadataFor($mappedClass); } } catch (\ReflectionException $e) { // ignore failing reflection } } } } finally { spl_autoload_unregister($throwingAutoloader); } $values = $arrayPool->getValues(); $adapter->warmUp($values); foreach ($values as $k => $v) { $item = $this->fallbackPool->getItem($k); $this->fallbackPool->saveDeferred($item->set($v)); } $this->fallbackPool->commit(); }