From 403c647b9e84640977ca0f98d21d15ceb4957bdb Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 7 Oct 2015 23:09:13 +0200 Subject: [ticket/14220] Move route loading to services PHPBB3-14220 --- phpBB/phpbb/routing/loader_resolver.php | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 phpBB/phpbb/routing/loader_resolver.php (limited to 'phpBB/phpbb/routing/loader_resolver.php') diff --git a/phpBB/phpbb/routing/loader_resolver.php b/phpBB/phpbb/routing/loader_resolver.php new file mode 100644 index 0000000000..e335051444 --- /dev/null +++ b/phpBB/phpbb/routing/loader_resolver.php @@ -0,0 +1,49 @@ + +* @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)) + { + return $loader; + } + } + + return false; + } +} -- cgit v1.2.1 From 0799a4808d82c3deafc4d9b74dc777b88ee9862f Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Thu, 8 Oct 2015 23:16:40 +0200 Subject: [ticket/14225] Inject the loader resolver when using the delegating loader PHPBB3-14225 --- phpBB/phpbb/routing/loader_resolver.php | 1 + 1 file changed, 1 insertion(+) (limited to 'phpBB/phpbb/routing/loader_resolver.php') diff --git a/phpBB/phpbb/routing/loader_resolver.php b/phpBB/phpbb/routing/loader_resolver.php index e335051444..13fbc6405c 100644 --- a/phpBB/phpbb/routing/loader_resolver.php +++ b/phpBB/phpbb/routing/loader_resolver.php @@ -40,6 +40,7 @@ class loader_resolver implements LoaderResolverInterface { if ($loader->supports($resource, $type)) { + $loader->setResolver($this); return $loader; } } -- cgit v1.2.1