diff options
Diffstat (limited to 'Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Loader/DelegatingLoader.php')
| -rw-r--r-- | Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Loader/DelegatingLoader.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Loader/DelegatingLoader.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Loader/DelegatingLoader.php new file mode 100644 index 0000000..3097878 --- /dev/null +++ b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Loader/DelegatingLoader.php @@ -0,0 +1,55 @@ +<?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\Loader; + +use Symfony\Component\Config\Exception\FileLoaderLoadException; + +/** + * DelegatingLoader delegates loading to other loaders using a loader resolver. + * + * This loader acts as an array of LoaderInterface objects - each having + * a chance to load a given resource (handled by the resolver) + * + * @author Fabien Potencier <fabien@symfony.com> + */ +class DelegatingLoader extends Loader +{ + /** + * Constructor. + * + * @param LoaderResolverInterface $resolver A LoaderResolverInterface instance + */ + public function __construct(LoaderResolverInterface $resolver) + { + $this->resolver = $resolver; + } + + /** + * {@inheritdoc} + */ + public function load($resource, $type = null) + { + if (false === $loader = $this->resolver->resolve($resource, $type)) { + throw new FileLoaderLoadException($resource); + } + + return $loader->load($resource, $type); + } + + /** + * {@inheritdoc} + */ + public function supports($resource, $type = null) + { + return false !== $this->resolver->resolve($resource, $type); + } +} |
