diff options
Diffstat (limited to 'phpBB/phpbb/routing/loader_resolver.php')
| -rw-r--r-- | phpBB/phpbb/routing/loader_resolver.php | 50 | 
1 files changed, 50 insertions, 0 deletions
| diff --git a/phpBB/phpbb/routing/loader_resolver.php b/phpBB/phpbb/routing/loader_resolver.php new file mode 100644 index 0000000000..13fbc6405c --- /dev/null +++ b/phpBB/phpbb/routing/loader_resolver.php @@ -0,0 +1,50 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license       GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +namespace phpbb\routing; + +use Symfony\Component\Config\Loader\LoaderResolverInterface; + +/** + * @see Symfony\Component\Config\Loader\LoaderResolver + */ +class loader_resolver implements LoaderResolverInterface +{ +	/** +	 * @var \Symfony\Component\Config\Loader\LoaderInterface[] An array of LoaderInterface objects +	 */ +	protected $loaders = []; + +	public function __construct($loaders = []) +	{ +		$this->loaders = $loaders; +	} + +	/** +	 * {@inheritdoc} +	 */ +	public function resolve($resource, $type = null) +	{ +		/** @var \Symfony\Component\Config\Loader\LoaderInterface $loader */ +		foreach ($this->loaders as $loader) +		{ +			if ($loader->supports($resource, $type)) +			{ +				$loader->setResolver($this); +				return $loader; +			} +		} + +		return false; +	} +} | 
