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

[ticket/16649] Add compiler pass to make all services public

This also handles BC for phpBB extensions

PHPBB3-16639
This commit is contained in:
rxu 2020-12-09 00:28:38 +07:00
parent 157a8aca01
commit 302632d240
No known key found for this signature in database
GPG Key ID: 955F0567380E586A
60 changed files with 43 additions and 105 deletions

View File

@ -36,8 +36,6 @@ imports:
- { resource: parameters.yml }
services:
_defaults: { public: true }
cache:
class: phpbb\cache\service
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
attachment.delete:
class: phpbb\attachment\delete
shared: false

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
# ----- Auth management -----
auth:
class: phpbb\auth\auth

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
avatar.manager:
class: phpbb\avatar\manager
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
captcha.factory:
class: phpbb\captcha\factory
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
console.exception_subscriber:
class: phpbb\console\exception_subscriber
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
content.visibility:
class: phpbb\content_visibility
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
cron.manager:
class: phpbb\cron\manager
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
dbal.conn:
class: phpbb\db\driver\factory
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
dispatcher:
class: phpbb\event\dispatcher
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
ext.manager:
class: phpbb\extension\manager
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
phpbb.feed.controller:
class: phpbb\feed\controller\feed
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
files.factory:
class: phpbb\files\factory
arguments:

View File

@ -2,8 +2,6 @@ parameters:
core.filesystem.cache_temp_dir: '%core.cache_dir%tmp/'
services:
_defaults: { public: true }
filesystem:
class: phpbb\filesystem\filesystem

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
phpbb.help.manager:
class: phpbb\help\manager
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
http_kernel:
class: Symfony\Component\HttpKernel\HttpKernel
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
language.helper.language_file:
class: phpbb\language\language_file_helper
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
# ----- Migrator -----
migrator:
class: phpbb\db\migrator

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
mimetype.guesser_collection:
class: phpbb\di\service_collection
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
module.manager:
class: phpbb\module\module_manager
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
notification_manager:
class: phpbb\notification\manager
arguments:

View File

@ -5,8 +5,6 @@ parameters:
passwords.driver.bcrypt_cost: 10
services:
_defaults: { public: true }
# ----- Password management -----
passwords.manager:
class: phpbb\passwords\manager

View File

@ -1,5 +1,3 @@
services:
_defaults: { public: true }
php_ini:
class: bantu\IniGetWrapper\IniGetWrapper

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
profilefields.manager:
class: phpbb\profilefields\manager
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
# ----- Report controller -----
phpbb.report.controller:
class: phpbb\report\controller\report

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
router:
class: phpbb\routing\router
arguments:

View File

@ -1,5 +1,4 @@
services:
_defaults: { public: true }
# Storages
storage.attachment:

View File

@ -4,8 +4,6 @@ parameters:
text_formatter.cache.renderer.key: _text_formatter_renderer
services:
_defaults: { public: true }
text_formatter.acp_utils:
class: phpbb\textformatter\s9e\acp_utils
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
text_reparser.manager:
class: phpbb\textreparser\manager
arguments:

View File

@ -2,8 +2,6 @@ parameters:
core.template.cache_path: '%core.cache_dir%twig/'
services:
_defaults: { public: true }
template.twig.environment:
class: phpbb\template\twig\environment
arguments:

View File

@ -1,8 +1,6 @@
# Twig extensions not needed by the installer
services:
_defaults: { public: true }
template.twig.extensions.icon:
class: phpbb\template\twig\extension\icon
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
phpbb.ucp.controller.reset_password:
class: phpbb\ucp\controller\reset_password
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
acl.permissions:
class: phpbb\permissions
arguments:

View File

@ -9,8 +9,6 @@ imports:
- { resource: ../../default/container/services_twig.yml }
services:
_defaults: { public: true }
cache.driver:
class: '%cache.driver.class%'
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
installer.file_updater.factory:
class: phpbb\install\helper\file_updater\factory
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
console.installer.command_collection:
class: phpbb\di\service_collection
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
phpbb.installer.controller.welcome:
class: phpbb\install\controller\installer_index
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
installer.install_database.create_schema_file:
class: phpbb\install\module\install_database\task\create_schema_file
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
installer.install_filesystem.create_config_file:
class: phpbb\install\module\install_filesystem\task\create_config_file
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
installer.install_finish.populate_migrations:
class: phpbb\install\module\install_finish\task\populate_migrations
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
installer.navigation.provider:
class: phpbb\install\helper\navigation\navigation_provider
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
installer.obtain_data.obtain_admin_data:
class: phpbb\install\module\obtain_data\task\obtain_admin_data
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
installer.requirements.check_filesystem:
class: phpbb\install\module\requirements\task\check_filesystem
arguments:

View File

@ -15,8 +15,6 @@ imports:
- { resource: services_update_requirements.yml }
services:
_defaults: { public: true }
# -------- Installer helpers ------------------------
installer.helper.config:
class: phpbb\install\helper\config

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
installer.update_database.update_task:
class: phpbb\install\module\update_database\task\update
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
installer.update_filesystem.check_task:
class: phpbb\install\module\update_filesystem\task\file_check
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
installer.obtain_data.update_options:
class: phpbb\install\module\obtain_data\task\obtain_update_settings
arguments:

View File

@ -1,6 +1,4 @@
services:
_defaults: { public: true }
installer.requirements.check_filesystem_update:
class: phpbb\install\module\requirements\task\check_filesystem
arguments:

View File

@ -198,6 +198,9 @@ class container_builder
$this->container = $this->create_container($this->container_extensions);
// Mark all services public
$this->container->addCompilerPass(new pass\markpublic_pass());
// Easy collections through tags
$this->container->addCompilerPass(new pass\collection_pass());

View File

@ -0,0 +1,40 @@
<?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\di\pass;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
/**
* Marks all services public
*/
class markpublic_pass implements CompilerPassInterface
{
/**
* Modify the container before it is passed to the rest of the code
*
* @param ContainerBuilder $container ContainerBuilder object
* @return null
*/
public function process(ContainerBuilder $container)
{
foreach ($container->getDefinitions() as $definition)
{
if ($definition->isPrivate())
{
$definition->setPublic(true);
}
}
}
}

View File

@ -1,4 +1,3 @@
services:
_defaults: { public: true }
core_foo.controller:
class: phpbb\controller\foo

View File

@ -1,4 +1,3 @@
services:
_defaults: { public: true }
bar.controller:
class: bar\controller

View File

@ -1,4 +1,3 @@
services:
_defaults: { public: true }
foo.controller:
class: foo\controller

View File

@ -5,7 +5,6 @@ parameters:
tables.acl_roles: '%core.table_prefix%acl_roles'
services:
_defaults: { public: true }
config.php:
synthetic: true

View File

@ -5,7 +5,6 @@ parameters:
tables.acl_roles: '%core.table_prefix%acl_roles'
services:
_defaults: { public: true }
config.php:
synthetic: true

View File

@ -2,7 +2,6 @@ parameters:
other_config: true
services:
_defaults: { public: true }
config.php:
synthetic: true

View File

@ -2,7 +2,6 @@ parameters:
other_config: true
services:
_defaults: { public: true }
config.php:
synthetic: true

View File

@ -1,5 +1,4 @@
services:
_defaults: { public: true }
foo_bar.controller:
class: foo\bar\controller\controller
arguments:

View File

@ -1,4 +1,3 @@
services:
_defaults: { public: true }
foo_foo.controller:
class: foo\foo\controller\controller

View File

@ -2,7 +2,6 @@ imports:
- { resource: ../../../phpBB/config/default/container/services_notification.yml }
services:
_defaults: { public: true }
notification_manager:
synthetic: true