diff --git a/DependencyInjection/BazingaJsTranslationExtension.php b/DependencyInjection/BazingaJsTranslationExtension.php index 2859b28a..e976804c 100644 --- a/DependencyInjection/BazingaJsTranslationExtension.php +++ b/DependencyInjection/BazingaJsTranslationExtension.php @@ -4,7 +4,7 @@ use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Extension\Extension; -use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; +use Symfony\Component\DependencyInjection\Loader\PhpFileLoader; use Symfony\Component\Config\FileLocator; use Symfony\Component\Config\Definition\Processor; @@ -22,9 +22,9 @@ public function load(array $configs, ContainerBuilder $container): void $configuration = new Configuration($container->getParameter('kernel.debug')); $config = $processor->processConfiguration($configuration, $configs); - $loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); - $loader->load('services.xml'); - $loader->load('controllers.xml'); + $loader = new PhpFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); + $loader->load('services.php'); + $loader->load('controllers.php'); $container ->getDefinition('bazinga.jstranslation.controller') diff --git a/Resources/config/controllers.php b/Resources/config/controllers.php new file mode 100644 index 00000000..7d0a19e6 --- /dev/null +++ b/Resources/config/controllers.php @@ -0,0 +1,22 @@ +services(); + $parameters = $container->parameters(); + $parameters->set('bazinga.jstranslation.controller.class', \Bazinga\Bundle\JsTranslationBundle\Controller\Controller::class); + + $services->set('bazinga.jstranslation.controller', '%bazinga.jstranslation.controller.class%') + ->public() + ->args([ + service('translator'), + service('twig'), + service('bazinga.jstranslation.translation_finder'), + '%kernel.cache_dir%/bazinga-js-translation', + '%kernel.debug%', + abstract_arg('fallback (locale)'), + abstract_arg('default domain'), + abstract_arg('http cache time') + ]); +}; diff --git a/Resources/config/controllers.xml b/Resources/config/controllers.xml deleted file mode 100644 index 86080cda..00000000 --- a/Resources/config/controllers.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - Bazinga\Bundle\JsTranslationBundle\Controller\Controller - - - - - - - - %kernel.cache_dir%/bazinga-js-translation - %kernel.debug% - - - - - - diff --git a/Resources/config/services.php b/Resources/config/services.php new file mode 100644 index 00000000..6d5c3397 --- /dev/null +++ b/Resources/config/services.php @@ -0,0 +1,34 @@ +services(); + $parameters = $container->parameters(); + $parameters->set('bazinga.jstranslation.translation_finder.class', \Bazinga\Bundle\JsTranslationBundle\Finder\TranslationFinder::class); + $parameters->set('bazinga.jstranslation.translation_dumper.class', \Bazinga\Bundle\JsTranslationBundle\Dumper\TranslationDumper::class); + + $services->set('bazinga.jstranslation.translation_finder', '%bazinga.jstranslation.translation_finder.class%') + ->public() + ->args([[]]); // all resource files paths from the framework bundle + + $services->set('bazinga.jstranslation.translation_dumper', '%bazinga.jstranslation.translation_dumper.class%') + ->public() + ->args([ + service('twig'), + service('bazinga.jstranslation.translation_finder'), + service('filesystem'), + abstract_arg('fallback (locale)'), + abstract_arg('default domain'), + abstract_arg('active locales'), + abstract_arg('active domains') + ]); + + $services->set('bazinga.jstranslation.dump_command', \Bazinga\Bundle\JsTranslationBundle\Command\DumpCommand::class) + ->public() + ->args([ + service('bazinga.jstranslation.translation_dumper'), + '%kernel.project_dir%', + ]) + ->tag('console.command', ['command' => 'bazinga:js-translation:dump']); +}; diff --git a/Resources/config/services.xml b/Resources/config/services.xml deleted file mode 100644 index f2fa955a..00000000 --- a/Resources/config/services.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Bazinga\Bundle\JsTranslationBundle\Finder\TranslationFinder - Bazinga\Bundle\JsTranslationBundle\Dumper\TranslationDumper - - - - - - - - - - - - - - - - - - %kernel.project_dir% - - - - diff --git a/composer.json b/composer.json index 258d5ea8..da6e8893 100644 --- a/composer.json +++ b/composer.json @@ -12,19 +12,20 @@ ], "require": { "php": ">=7.4", - "symfony/framework-bundle": "~4.4|~5.0|~6.0|~7.0", - "symfony/finder": "~4.4|~5.0|~6.0|~7.0", - "symfony/console": "~4.4|~5.0|~6.0|~7.0", - "symfony/intl": "~4.4|~5.0|~6.0|~7.0", - "symfony/translation": "~4.4|~5.0|~6.0|~7.0", - "symfony/twig-bundle": "~4.4|~5.0|~6.0|~7.0" + "symfony/dependency-injection": "~5.4|~6.0|~7.0|~8.0", + "symfony/framework-bundle": "~5.4|~6.0|~7.0|~8.0", + "symfony/finder": "~5.4|~6.0|~7.0|~8.0", + "symfony/console": "~5.4|~6.0|~7.0|~8.0", + "symfony/intl": "~5.4|~6.0|~7.0|~8.0", + "symfony/translation": "~5.4|~6.0|~7.0|~8.0", + "symfony/twig-bundle": "~5.4|~6.0|~7.0|~8.0" }, "require-dev": { - "symfony/asset": "~4.4|~5.0|~6.0|~7.0", - "symfony/filesystem": "~4.4|~5.0|~6.0|~7.0", - "symfony/yaml": "~4.4|~5.0|~6.0|~7.0", - "symfony/browser-kit": "~4.4|~5.0|~6.0|~7.0", - "symfony/phpunit-bridge": "^5.0|^6.0|~7.0", + "symfony/asset": "~5.4|~6.0|~7.0|~8.0", + "symfony/filesystem": "~5.4|~6.0|~7.0|~8.0", + "symfony/yaml": "~5.4|~6.0|~7.0|~8.0", + "symfony/browser-kit": "~5.4|~6.0|~7.0|~8.0", + "symfony/phpunit-bridge": "^5.4|^6.0|~7.0|~8.0", "phpunit/phpunit": "^4.8|~5.7|~6.5|~8" }, "replace": {