From 2eb24d0ace239324086002db4582eaaddd07aa28 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Sun, 9 Mar 2014 18:38:21 +0100 Subject: [ticket/12090] Split finding routes and returning routes into 2 methods PHPBB3-12090 --- phpBB/phpbb/controller/helper.php | 3 +-- phpBB/phpbb/controller/provider.php | 26 +++++++++++++++++++++----- 2 files changed, 22 insertions(+), 7 deletions(-) (limited to 'phpBB/phpbb/controller') diff --git a/phpBB/phpbb/controller/helper.php b/phpBB/phpbb/controller/helper.php index 8e33aaf605..2d11a54c08 100644 --- a/phpBB/phpbb/controller/helper.php +++ b/phpBB/phpbb/controller/helper.php @@ -66,8 +66,7 @@ class helper $this->config = $config; $this->phpbb_root_path = $phpbb_root_path; $this->php_ext = $php_ext; - $this->route_collection = $provider->find($this->phpbb_root_path); - + $this->route_collection = $provider->find($this->phpbb_root_path)->get_routes(); } /** diff --git a/phpBB/phpbb/controller/provider.php b/phpBB/phpbb/controller/provider.php index fbe717f1af..9df8130210 100644 --- a/phpBB/phpbb/controller/provider.php +++ b/phpBB/phpbb/controller/provider.php @@ -25,6 +25,12 @@ class provider */ protected $routing_files; + /** + * Collection of the routes in phpBB and all found extensions + * @var RouteCollection + */ + protected $routes; + /** * Construct method * @@ -48,20 +54,30 @@ class provider } /** - * Get a list of controllers and return it + * Find a list of controllers and return it * * @param string $base_path Base path to prepend to file paths - * @return array Array of controllers and their route information + * @return null */ public function find($base_path = '') { - $routes = new RouteCollection; + $this->routes = new RouteCollection; foreach ($this->routing_files as $file_path) { $loader = new YamlFileLoader(new FileLocator($base_path)); - $routes->addCollection($loader->load($file_path)); + $this->routes->addCollection($loader->load($file_path)); } - return $routes; + return $this; + } + + /** + * Get the list of routes + * + * @return RouteCollection Get the route collection + */ + public function get_routes() + { + return $this->routes; } } -- cgit v1.2.1