diff options
Diffstat (limited to 'srcs/phpmyadmin/vendor/symfony/config/ResourceCheckerConfigCacheFactory.php')
| -rw-r--r-- | srcs/phpmyadmin/vendor/symfony/config/ResourceCheckerConfigCacheFactory.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/vendor/symfony/config/ResourceCheckerConfigCacheFactory.php b/srcs/phpmyadmin/vendor/symfony/config/ResourceCheckerConfigCacheFactory.php new file mode 100644 index 0000000..0338635 --- /dev/null +++ b/srcs/phpmyadmin/vendor/symfony/config/ResourceCheckerConfigCacheFactory.php @@ -0,0 +1,48 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Config; + +/** + * A ConfigCacheFactory implementation that validates the + * cache with an arbitrary set of ResourceCheckers. + * + * @author Matthias Pigulla <mp@webfactory.de> + */ +class ResourceCheckerConfigCacheFactory implements ConfigCacheFactoryInterface +{ + private $resourceCheckers = []; + + /** + * @param iterable|ResourceCheckerInterface[] $resourceCheckers + */ + public function __construct(iterable $resourceCheckers = []) + { + $this->resourceCheckers = $resourceCheckers; + } + + /** + * {@inheritdoc} + */ + public function cache($file, $callback) + { + if (!\is_callable($callback)) { + throw new \InvalidArgumentException(sprintf('Invalid type for callback argument. Expected callable, but got "%s".', \gettype($callback))); + } + + $cache = new ResourceCheckerConfigCache($file, $this->resourceCheckers); + if (!$cache->isFresh()) { + $callback($cache); + } + + return $cache; + } +} |
