Skip to content

Commit 607a7fb

Browse files
authored
Merge pull request #3091 from stof/convert_config
Convert XML config files to PHP or Yaml
2 parents 901069c + 603eff0 commit 607a7fb

39 files changed

Lines changed: 660 additions & 575 deletions

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
"symfony/translation": "^6.4 || ^7.0",
4141
"symfony/twig-bundle": "^6.4 || ^7.0",
4242
"symfony/validator": "^6.4 || ^7.0",
43+
"symfony/yaml": "^6.4 || ^7.0",
4344
"twig/twig": "^2.13 || ^3.0"
4445
},
4546
"conflict": {
@@ -53,8 +54,7 @@
5354
"symfony/console": "^6.4 || ^7.0",
5455
"symfony/mailer": "^6.4 || ^7.0",
5556
"symfony/mime": "^6.4 || ^7.0",
56-
"symfony/phpunit-bridge": "^6.4 || ^7.0",
57-
"symfony/yaml": "^6.4 || ^7.0"
57+
"symfony/phpunit-bridge": "^6.4 || ^7.0"
5858
},
5959
"config": {
6060
"sort-packages": true

src/DependencyInjection/Compiler/ValidationPass.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ public function process(ContainerBuilder $container): void
3636
return;
3737
}
3838

39-
$validationFile = __DIR__.'/../../Resources/config/storage-validation/'.$storage.'.xml';
39+
$validationFile = __DIR__.'/../../Resources/config/storage-validation/'.$storage.'.yaml';
4040

4141
$container->getDefinition('validator.builder')
42-
->addMethodCall('addXmlMapping', [$validationFile]);
42+
->addMethodCall('addYamlMapping', [$validationFile]);
4343
}
4444
}

src/DependencyInjection/FOSUserExtension.php

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
use Symfony\Component\DependencyInjection\Alias;
1818
use Symfony\Component\DependencyInjection\ContainerBuilder;
1919
use Symfony\Component\DependencyInjection\Extension\Extension;
20-
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
20+
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
2121
use Symfony\Component\DependencyInjection\Reference;
2222

2323
/**
@@ -49,14 +49,14 @@ public function load(array $configs, ContainerBuilder $container): void
4949

5050
$config = $processor->processConfiguration($configuration, $configs);
5151

52-
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
52+
$loader = new PhpFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
5353

5454
if ('custom' !== $config['db_driver']) {
5555
if (isset(self::$doctrineDrivers[$config['db_driver']])) {
56-
$loader->load('doctrine.xml');
56+
$loader->load('doctrine.php');
5757
$container->setAlias('fos_user.doctrine_registry', new Alias(self::$doctrineDrivers[$config['db_driver']]['registry'], false));
5858
} else {
59-
$loader->load(sprintf('%s.xml', $config['db_driver']));
59+
$loader->load(sprintf('%s.php', $config['db_driver']));
6060
}
6161
$container->setParameter($this->getAlias().'.backend_type_'.$config['db_driver'], true);
6262
}
@@ -67,7 +67,7 @@ public function load(array $configs, ContainerBuilder $container): void
6767
}
6868

6969
foreach (['validator', 'security', 'util', 'mailer', 'listeners', 'commands'] as $basename) {
70-
$loader->load(sprintf('%s.xml', $basename));
70+
$loader->load(sprintf('%s.php', $basename));
7171
}
7272

7373
if (!$config['use_authentication_listener']) {
@@ -80,7 +80,7 @@ public function load(array $configs, ContainerBuilder $container): void
8080

8181
if ($config['use_flash_notifications']) {
8282
$this->sessionNeeded = true;
83-
$loader->load('flash_notifications.xml');
83+
$loader->load('flash_notifications.php');
8484
}
8585

8686
$container->setAlias('fos_user.util.email_canonicalizer', $config['service']['email_canonicalizer']);
@@ -95,7 +95,7 @@ public function load(array $configs, ContainerBuilder $container): void
9595
}
9696

9797
if ($config['use_username_form_type']) {
98-
$loader->load('username_form_type.xml');
98+
$loader->load('username_form_type.php');
9999
}
100100

101101
$this->remapParametersNamespaces($config, $container, [
@@ -184,9 +184,9 @@ protected function remapParametersNamespaces(array $config, ContainerBuilder $co
184184
/**
185185
* @param array<string, mixed> $config
186186
*/
187-
private function loadProfile(array $config, ContainerBuilder $container, XmlFileLoader $loader): void
187+
private function loadProfile(array $config, ContainerBuilder $container, PhpFileLoader $loader): void
188188
{
189-
$loader->load('profile.xml');
189+
$loader->load('profile.php');
190190

191191
$this->remapParametersNamespaces($config, $container, [
192192
'form' => 'fos_user.profile.form.%s',
@@ -197,14 +197,14 @@ private function loadProfile(array $config, ContainerBuilder $container, XmlFile
197197
* @param array<string, mixed> $config
198198
* @param array{address: string, sender_name: string} $fromEmail
199199
*/
200-
private function loadRegistration(array $config, ContainerBuilder $container, XmlFileLoader $loader, array $fromEmail): void
200+
private function loadRegistration(array $config, ContainerBuilder $container, PhpFileLoader $loader, array $fromEmail): void
201201
{
202-
$loader->load('registration.xml');
202+
$loader->load('registration.php');
203203
$this->sessionNeeded = true;
204204

205205
if ($config['confirmation']['enabled']) {
206206
$this->mailerNeeded = true;
207-
$loader->load('email_confirmation.xml');
207+
$loader->load('email_confirmation.php');
208208
}
209209

210210
if (isset($config['confirmation']['from_email'])) {
@@ -223,9 +223,9 @@ private function loadRegistration(array $config, ContainerBuilder $container, Xm
223223
/**
224224
* @param array<string, mixed> $config
225225
*/
226-
private function loadChangePassword(array $config, ContainerBuilder $container, XmlFileLoader $loader): void
226+
private function loadChangePassword(array $config, ContainerBuilder $container, PhpFileLoader $loader): void
227227
{
228-
$loader->load('change_password.xml');
228+
$loader->load('change_password.php');
229229

230230
$this->remapParametersNamespaces($config, $container, [
231231
'form' => 'fos_user.change_password.form.%s',
@@ -236,10 +236,10 @@ private function loadChangePassword(array $config, ContainerBuilder $container,
236236
* @param array<string, mixed> $config
237237
* @param array{address: string, sender_name: string} $fromEmail
238238
*/
239-
private function loadResetting(array $config, ContainerBuilder $container, XmlFileLoader $loader, array $fromEmail): void
239+
private function loadResetting(array $config, ContainerBuilder $container, PhpFileLoader $loader, array $fromEmail): void
240240
{
241241
$this->mailerNeeded = true;
242-
$loader->load('resetting.xml');
242+
$loader->load('resetting.php');
243243

244244
if (isset($config['email']['from_email'])) {
245245
// overwrite the global one

src/Model/User.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ public function __unserialize(array $data): void
149149
$this->enabled,
150150
$this->id,
151151
$this->email,
152-
$this->emailCanonical
152+
$this->emailCanonical,
153153
] = $data;
154154
}
155155

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the FOSUserBundle package.
5+
*
6+
* (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
13+
14+
use FOS\UserBundle\Controller\ChangePasswordController;
15+
use FOS\UserBundle\Form\Factory\FormFactory;
16+
use FOS\UserBundle\Form\Type\ChangePasswordFormType;
17+
use Psr\Container\ContainerInterface;
18+
19+
return static function (ContainerConfigurator $container) {
20+
$services = $container->services();
21+
22+
$services->set('fos_user.change_password.form.factory', FormFactory::class)
23+
->args([
24+
service('form.factory'),
25+
'%fos_user.change_password.form.name%',
26+
'%fos_user.change_password.form.type%',
27+
'%fos_user.change_password.form.validation_groups%',
28+
]);
29+
30+
$services->set('fos_user.change_password.form.type', ChangePasswordFormType::class)
31+
->args(['%fos_user.model.user.class%'])
32+
->tag('form.type', ['alias' => 'fos_user_change_password']);
33+
34+
$services->set('fos_user.change_password.controller', ChangePasswordController::class)
35+
->public()
36+
->args([
37+
service('event_dispatcher'),
38+
service('fos_user.change_password.form.factory'),
39+
service('fos_user.user_manager'),
40+
])
41+
->call('setContainer', [service(ContainerInterface::class)])
42+
->tag('container.service_subscriber');
43+
44+
$services->alias(ChangePasswordController::class, 'fos_user.change_password.controller')
45+
->public();
46+
};

src/Resources/config/change_password.xml

Lines changed: 0 additions & 33 deletions
This file was deleted.

src/Resources/config/commands.php

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the FOSUserBundle package.
5+
*
6+
* (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
13+
14+
use FOS\UserBundle\Command\ActivateUserCommand;
15+
use FOS\UserBundle\Command\ChangePasswordCommand;
16+
use FOS\UserBundle\Command\CreateUserCommand;
17+
use FOS\UserBundle\Command\DeactivateUserCommand;
18+
use FOS\UserBundle\Command\DemoteUserCommand;
19+
use FOS\UserBundle\Command\PromoteUserCommand;
20+
21+
return static function (ContainerConfigurator $container) {
22+
$services = $container->services();
23+
24+
$services->set('fos_user.command.activate_user', ActivateUserCommand::class)
25+
->args([service('fos_user.util.user_manipulator')])
26+
->tag('console.command', ['command' => 'fos:user:activate']);
27+
28+
$services->set('fos_user.command.change_password', ChangePasswordCommand::class)
29+
->args([service('fos_user.util.user_manipulator')])
30+
->tag('console.command', ['command' => 'fos:user:change-password']);
31+
32+
$services->set('fos_user.command.create_user', CreateUserCommand::class)
33+
->args([service('fos_user.util.user_manipulator')])
34+
->tag('console.command', ['command' => 'fos:user:create']);
35+
36+
$services->set('fos_user.command.deactivate_user', DeactivateUserCommand::class)
37+
->args([service('fos_user.util.user_manipulator')])
38+
->tag('console.command', ['command' => 'fos:user:deactivate']);
39+
40+
$services->set('fos_user.command.demote_user', DemoteUserCommand::class)
41+
->args([service('fos_user.util.user_manipulator')])
42+
->tag('console.command', ['command' => 'fos:user:demote']);
43+
44+
$services->set('fos_user.command.promote_user', PromoteUserCommand::class)
45+
->args([service('fos_user.util.user_manipulator')])
46+
->tag('console.command', ['command' => 'fos:user:promote']);
47+
};

src/Resources/config/commands.xml

Lines changed: 0 additions & 34 deletions
This file was deleted.

src/Resources/config/doctrine.php

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the FOSUserBundle package.
5+
*
6+
* (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
13+
14+
use Doctrine\Persistence\ObjectManager;
15+
use FOS\UserBundle\Doctrine\UserListener;
16+
use FOS\UserBundle\Doctrine\UserManager;
17+
18+
return static function (ContainerConfigurator $container) {
19+
$services = $container->services();
20+
21+
$services->set('fos_user.user_manager.default', UserManager::class)
22+
->private()
23+
->args([
24+
service('fos_user.util.password_updater'),
25+
service('fos_user.util.canonical_fields_updater'),
26+
service('fos_user.object_manager'),
27+
'%fos_user.model.user.class%',
28+
]);
29+
30+
$services->set('fos_user.object_manager', ObjectManager::class)
31+
->private()
32+
->args(['%fos_user.model_manager_name%']);
33+
34+
$services->set('fos_user.user_listener', UserListener::class)
35+
->private()
36+
->args([
37+
service('fos_user.util.password_updater'),
38+
service('fos_user.util.canonical_fields_updater'),
39+
]);
40+
};

src/Resources/config/doctrine.xml

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)