Skip to content

Commit b56b97b

Browse files
authored
Use PHP instead of XML for service configuration (#84)
This prepares for an upcoming deprecation in Symfony 7.4. https://symfony.com/blog/new-in-symfony-7-4-deprecated-xml-configuration
1 parent cc6c766 commit b56b97b

3 files changed

Lines changed: 27 additions & 28 deletions

File tree

src/DependencyInjection/WebfactoryPolyglotExtension.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@
1212
use Symfony\Component\Config\FileLocator;
1313
use Symfony\Component\DependencyInjection\ContainerBuilder;
1414
use Symfony\Component\DependencyInjection\Extension\Extension;
15-
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
15+
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
1616

1717
final class WebfactoryPolyglotExtension extends Extension
1818
{
1919
public function load(array $configs, ContainerBuilder $container): void
2020
{
21-
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
22-
$loader->load('services.xml');
21+
$loader = new PhpFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
22+
$loader->load('services.php');
2323

2424
$m = ['defaultLocale' => 'de_DE'];
2525
foreach ($configs as $c) {

src/Resources/config/services.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
4+
5+
return static function (ContainerConfigurator $container) {
6+
$services = $container->services();
7+
$parameters = $container->parameters();
8+
9+
$services->defaults()
10+
->autowire()
11+
->autoconfigure();
12+
13+
$services->set(\Webfactory\Bundle\PolyglotBundle\Doctrine\PolyglotListener::class)
14+
->tag('doctrine.event_listener', ['priority' => -100, 'event' => 'postFlush'])
15+
->tag('doctrine.event_listener', ['priority' => -100, 'event' => 'prePersist'])
16+
->tag('doctrine.event_listener', ['priority' => -100, 'event' => 'preFlush'])
17+
->tag('doctrine.event_listener', ['priority' => -100, 'event' => 'postLoad'])
18+
->tag('monolog.logger', ['channel' => 'webfactory_polyglot_bundle']);
19+
20+
$services->set(\Webfactory\Bundle\PolyglotBundle\EventListener\LocaleListener::class);
21+
22+
$services->set(\Webfactory\Bundle\PolyglotBundle\Locale\DefaultLocaleProvider::class)
23+
->call('setDefaultLocale', ['%webfactory.polyglot.default_locale%']);
24+
};

src/Resources/config/services.xml

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

0 commit comments

Comments
 (0)