1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-03-19 07:00:14 +01:00

[ticket/12630] Use di to inject parameter

PHPBB3-12630
This commit is contained in:
rubencm 2020-08-30 10:44:05 +00:00
parent f8888c62ca
commit 92c31dd454
5 changed files with 19 additions and 11 deletions

View File

@ -8,6 +8,7 @@ services:
- '%core.php_ext%'
- '%core.cache_dir%'
- '%debug.url_generator%'
- '%debug.url_matcher%'
router.listener:
class: Symfony\Component\HttpKernel\EventListener\RouterListener

View File

@ -85,17 +85,23 @@ class router implements RouterInterface
*/
protected $debug_url_generator;
/**
* @var string
*/
protected $debug_url_matcher;
/**
* Construct method
*
* @param ContainerInterface $container DI container
* @param resources_locator_interface $resources_locator Resources locator
* @param LoaderInterface $loader Resources loader
* @param string $php_ext PHP file extension
* @param string $cache_dir phpBB cache directory
* @param string $debug_url_generator Debug url generator
* @param ContainerInterface $container DI container
* @param resources_locator_interface $resources_locator Resources locator
* @param LoaderInterface $loader Resources loader
* @param string $php_ext PHP file extension
* @param string $cache_dir phpBB cache directory
* @param string $debug_url_generator Debug url generator
* @param string $debug_url_matcher Debug url matcher
*/
public function __construct(ContainerInterface $container, resources_locator_interface $resources_locator, LoaderInterface $loader, $php_ext, $cache_dir, $debug_url_generator)
public function __construct(ContainerInterface $container, resources_locator_interface $resources_locator, LoaderInterface $loader, string $php_ext, string $cache_dir, string $debug_url_generator, string $debug_url_matcher)
{
$this->container = $container;
$this->resources_locator = $resources_locator;
@ -104,6 +110,7 @@ class router implements RouterInterface
$this->context = new RequestContext();
$this->cache_dir = $cache_dir;
$this->debug_url_generator = $debug_url_generator;
$this->debug_url_matcher = $debug_url_matcher;
}
/**
@ -207,7 +214,7 @@ class router implements RouterInterface
{
try
{
$cache = new ConfigCache("{$this->cache_dir}url_matcher.{$this->php_ext}", $this->container->getParameter('debug.url_matcher'));
$cache = new ConfigCache("{$this->cache_dir}url_matcher.{$this->php_ext}", $this->debug_url_matcher);
if (!$cache->isFresh())
{
$dumper = new PhpMatcherDumper($this->get_routes());

View File

@ -151,7 +151,7 @@ abstract class phpbb_controller_common_helper_route extends phpbb_database_test_
new \phpbb\routing\file_locator(dirname(__FILE__) . '/')
);
$resources_locator = new \phpbb\routing\resources_locator\default_resources_locator(dirname(__FILE__) . '/', PHPBB_ENVIRONMENT, $this->extension_manager);
$this->router = new phpbb_mock_router($container, $resources_locator, $loader, 'php', dirname(__FILE__) . '/', true);
$this->router = new phpbb_mock_router($container, $resources_locator, $loader, 'php', dirname(__FILE__) . '/', true, true);
$this->auth = new \phpbb\auth\auth();
$this->cache = new \phpbb\cache\driver\dummy();
$this->db = $this->new_dbal();

View File

@ -48,7 +48,7 @@ class phpbb_controller_controller_test extends phpbb_test_case
new \phpbb\routing\file_locator(dirname(__FILE__) . '/')
);
$resources_locator = new \phpbb\routing\resources_locator\default_resources_locator(dirname(__FILE__) . '/', PHPBB_ENVIRONMENT, $this->extension_manager);
$router = new phpbb_mock_router($container, $resources_locator, $loader, 'php', dirname(__FILE__) . '/', true);
$router = new phpbb_mock_router($container, $resources_locator, $loader, 'php', dirname(__FILE__) . '/', true, true);
$routes = $router->get_routes();
// This will need to be updated if any new routes are defined

View File

@ -42,7 +42,7 @@ class phpbb_pagination_pagination_test extends phpbb_template_template_test_case
new \phpbb\routing\file_locator(dirname(__FILE__) . '/')
);
$resources_locator = new \phpbb\routing\resources_locator\default_resources_locator(dirname(__FILE__) . '/', PHPBB_ENVIRONMENT, $manager);
$router = new phpbb_mock_router(new phpbb_mock_container_builder(), $resources_locator, $loader, 'php', dirname(__FILE__) . '/', true);
$router = new phpbb_mock_router(new phpbb_mock_container_builder(), $resources_locator, $loader, 'php', dirname(__FILE__) . '/', true, true);
$request = new phpbb_mock_request();
$request->overwrite('SCRIPT_NAME', '/app.php', \phpbb\request\request_interface::SERVER);