mirror of
https://github.com/phpbb/phpbb.git
synced 2025-02-24 12:03:21 +01:00
[ticket/11768] Updated constructors with explicit dependencies
The trade-off is that an instance of phpbb\textformatter\s9e\factory and phpbb\textformatter\data_access is created on any page that uses the parser or the renderer, even when neither need to be regenerated. It has no measureable impact on performance and costs ~20KB of RAM. PHPBB3-11768
This commit is contained in:
parent
e0bb446c57
commit
72fb380c9f
@ -41,7 +41,7 @@ services:
|
||||
- @cache.driver
|
||||
- %text_formatter.cache.parser.key%
|
||||
- @user
|
||||
- @service_container
|
||||
- @text_formatter.s9e.factory
|
||||
|
||||
text_formatter.s9e.renderer:
|
||||
class: phpbb\textformatter\s9e\renderer
|
||||
@ -49,7 +49,7 @@ services:
|
||||
- @cache.driver
|
||||
- %text_formatter.cache.dir%
|
||||
- %text_formatter.cache.renderer.key%
|
||||
- @service_container
|
||||
- @text_formatter.s9e.factory
|
||||
calls:
|
||||
- [configure_smilies_path, [@config, @path_helper]]
|
||||
- [configure_user, [@user, @config, @auth]]
|
||||
|
@ -39,17 +39,17 @@ class parser extends \phpbb\textformatter\parser
|
||||
* @param phpbb\cache\driver_interface $cache
|
||||
* @param string $key Cache key
|
||||
* @param phpbb\user $user
|
||||
* @param ContainerInterface $container
|
||||
* @param factory $factory
|
||||
* @return null
|
||||
*/
|
||||
public function __construct(\phpbb\cache\driver\driver_interface $cache, $key, \phpbb\user $user, ContainerInterface $container)
|
||||
public function __construct(\phpbb\cache\driver\driver_interface $cache, $key, \phpbb\user $user, factory $factory)
|
||||
{
|
||||
$this->user = $user;
|
||||
|
||||
$parser = $cache->get($key);
|
||||
if (!$parser)
|
||||
{
|
||||
list($parser) = $container->get('text_formatter.s9e.factory')->regenerate();
|
||||
list($parser) = $factory->regenerate();
|
||||
}
|
||||
|
||||
$this->parser = $parser;
|
||||
|
@ -49,13 +49,13 @@ class renderer extends \phpbb\textformatter\renderer
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param phpbb\cache\driver\driver_interface $cache
|
||||
* @param \phpbb\cache\driver\driver_interface $cache
|
||||
* @param string $cache_dir Path to the cache dir
|
||||
* @param string $key Cache key
|
||||
* @param ContainerInterface $container
|
||||
* @param factory $factory
|
||||
* @return null
|
||||
*/
|
||||
public function __construct(\phpbb\cache\driver\driver_interface $cache, $cache_dir, $key, ContainerInterface $container)
|
||||
public function __construct(\phpbb\cache\driver\driver_interface $cache, $cache_dir, $key, factory $factory)
|
||||
{
|
||||
$renderer_data = $cache->get($key);
|
||||
|
||||
@ -82,7 +82,7 @@ class renderer extends \phpbb\textformatter\renderer
|
||||
|
||||
if (!isset($renderer))
|
||||
{
|
||||
list(, $renderer) = $container->get('text_formatter.s9e.factory')->regenerate();
|
||||
list(, $renderer) = $factory->regenerate();
|
||||
}
|
||||
|
||||
$this->renderer = $renderer;
|
||||
|
Loading…
x
Reference in New Issue
Block a user