diff --git a/src/DependencyInjection/WebfactoryPolyglotExtension.php b/src/DependencyInjection/WebfactoryPolyglotExtension.php index 85825ec..8513c55 100644 --- a/src/DependencyInjection/WebfactoryPolyglotExtension.php +++ b/src/DependencyInjection/WebfactoryPolyglotExtension.php @@ -12,14 +12,14 @@ use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Extension\Extension; -use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; +use Symfony\Component\DependencyInjection\Loader\PhpFileLoader; final class WebfactoryPolyglotExtension extends Extension { public function load(array $configs, ContainerBuilder $container): void { - $loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); - $loader->load('services.xml'); + $loader = new PhpFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); + $loader->load('services.php'); $m = ['defaultLocale' => 'de_DE']; foreach ($configs as $c) { diff --git a/src/Resources/config/services.php b/src/Resources/config/services.php new file mode 100644 index 0000000..c47bd51 --- /dev/null +++ b/src/Resources/config/services.php @@ -0,0 +1,24 @@ +services(); + $parameters = $container->parameters(); + + $services->defaults() + ->autowire() + ->autoconfigure(); + + $services->set(\Webfactory\Bundle\PolyglotBundle\Doctrine\PolyglotListener::class) + ->tag('doctrine.event_listener', ['priority' => -100, 'event' => 'postFlush']) + ->tag('doctrine.event_listener', ['priority' => -100, 'event' => 'prePersist']) + ->tag('doctrine.event_listener', ['priority' => -100, 'event' => 'preFlush']) + ->tag('doctrine.event_listener', ['priority' => -100, 'event' => 'postLoad']) + ->tag('monolog.logger', ['channel' => 'webfactory_polyglot_bundle']); + + $services->set(\Webfactory\Bundle\PolyglotBundle\EventListener\LocaleListener::class); + + $services->set(\Webfactory\Bundle\PolyglotBundle\Locale\DefaultLocaleProvider::class) + ->call('setDefaultLocale', ['%webfactory.polyglot.default_locale%']); +}; diff --git a/src/Resources/config/services.xml b/src/Resources/config/services.xml deleted file mode 100644 index 13dc2ed..0000000 --- a/src/Resources/config/services.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - %webfactory.polyglot.default_locale% - - - -