Skip to content

Commit 81646e9

Browse files
committed
convert configuration from xml to php
1 parent ece86ca commit 81646e9

17 files changed

+262
-249
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
Changelog
22
=========
33

4+
3.2.0
5+
-----
6+
7+
* Support Symfony 8.
8+
* Rewrote service configurations from XML to PHP.
9+
410
3.1.2
511
-----
612

composer.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,11 @@
3030
"phpstan/phpstan-doctrine": "^2.0",
3131
"phpstan/phpstan-phpunit": "^2.0",
3232
"phpstan/phpstan-symfony": "^2.0",
33-
"phpunit/phpunit": "^9.5.28",
34-
"matthiasnoback/symfony-dependency-injection-test": "^4.1.0 || ^5.1.0",
35-
"matthiasnoback/symfony-config-test": "^4.1.0 || ^5.1.0",
33+
"matthiasnoback/symfony-dependency-injection-test": "^6.3",
34+
"matthiasnoback/symfony-config-test": "^6.2",
3635
"symfony/phpunit-bridge": "^7.0.3 || ^8.0",
3736
"symfony/form": "^6.4 || ^7.0 || ^8.0",
38-
"symfony/monolog-bundle": "^3.5",
37+
"symfony/monolog-bundle": "^3.5 || ^4.0",
3938
"symfony/security-bundle": "^6.4 || ^7.0 || ^8.0",
4039
"symfony/serializer": "^6.4 || ^7.0 || ^8.0",
4140
"symfony/translation": "^6.4 || ^7.0 || ^8.0",

src/DependencyInjection/CmfRoutingExtension.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
use Symfony\Component\Config\FileLocator;
1717
use Symfony\Component\Config\Loader\LoaderInterface;
1818
use Symfony\Component\DependencyInjection\ContainerBuilder;
19-
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
19+
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
2020
use Symfony\Component\DependencyInjection\Reference;
2121
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
2222

@@ -30,7 +30,7 @@ final class CmfRoutingExtension extends Extension
3030
public function load(array $configs, ContainerBuilder $container): void
3131
{
3232
$config = $this->processConfiguration(new Configuration(), $configs);
33-
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
33+
$loader = new PhpFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
3434

3535
if ($this->isConfigEnabled($container, $config['dynamic'])) {
3636
$this->setupDynamicRouter($config['dynamic'], $container, $loader);
@@ -39,12 +39,12 @@ public function load(array $configs, ContainerBuilder $container): void
3939
$this->setupChainRouter($config, $container, $loader);
4040
$this->setupFormTypes($config, $container, $loader);
4141

42-
$loader->load('validators.xml');
42+
$loader->load('validators.php');
4343
}
4444

4545
private function setupChainRouter(array $config, ContainerBuilder $container, LoaderInterface $loader): void
4646
{
47-
$loader->load('routing-chain.xml');
47+
$loader->load('routing-chain.php');
4848

4949
$container->setParameter('cmf_routing.replace_symfony_router', $config['chain']['replace_symfony_router']);
5050

@@ -57,7 +57,7 @@ private function setupChainRouter(array $config, ContainerBuilder $container, Lo
5757

5858
private function setupFormTypes(array $config, ContainerBuilder $container, LoaderInterface $loader): void
5959
{
60-
$loader->load('form-type.xml');
60+
$loader->load('form-type.php');
6161

6262
if (\array_key_exists('dynamic', $config)) {
6363
$routeTypeTypeDefinition = $container->getDefinition('cmf_routing.route_type_form_type');
@@ -73,7 +73,7 @@ private function setupFormTypes(array $config, ContainerBuilder $container, Load
7373
*/
7474
private function setupDynamicRouter(array $config, ContainerBuilder $container, LoaderInterface $loader): void
7575
{
76-
$loader->load('routing-dynamic.xml');
76+
$loader->load('routing-dynamic.php');
7777

7878
$container->setParameter('cmf_routing.redirectable_url_matcher', $config['redirectable_url_matcher']);
7979

@@ -205,7 +205,7 @@ private function setupDynamicRouter(array $config, ContainerBuilder $container,
205205

206206
private function loadPhpcrProvider(array $config, LoaderInterface $loader, ContainerBuilder $container, array $locales, $matchImplicitLocale): void
207207
{
208-
$loader->load('provider-phpcr.xml');
208+
$loader->load('provider-phpcr.php');
209209

210210
$container->setParameter('cmf_routing.backend_type_phpcr', true);
211211
$container->setParameter('cmf_routing.dynamic.persistence.phpcr.route_basepaths', array_values(array_unique($config['route_basepaths'])));
@@ -234,12 +234,12 @@ private function loadInitializer(LoaderInterface $loader, ContainerBuilder $cont
234234
$initializedBasepaths
235235
);
236236

237-
$loader->load('initializer-phpcr.xml');
237+
$loader->load('initializer-phpcr.php');
238238
}
239239

240240
private function loadOrmProvider(array $config, LoaderInterface $loader, ContainerBuilder $container, $matchImplicitLocale): void
241241
{
242-
$loader->load('provider-orm.xml');
242+
$loader->load('provider-orm.php');
243243

244244
$container->setParameter('cmf_routing.backend_type_orm', true);
245245
$container->setParameter('cmf_routing.dynamic.persistence.orm.manager_name', $config['manager_name']);

src/Resources/config/form-type.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
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->set('cmf_routing.route_type_form_type', \Symfony\Cmf\Bundle\RoutingBundle\Form\Type\RouteTypeType::class)
10+
->tag('form.type', ['alias' => 'cmf_routing_route_type']);
11+
};

src/Resources/config/form-type.xml

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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->set('cmf_routing.initializer', \Doctrine\Bundle\PHPCRBundle\Initializer\GenericInitializer::class)
10+
->args([
11+
'CmfRoutingBundle',
12+
'%cmf_routing.dynamic.persistence.phpcr.initialized_basepaths%',
13+
])
14+
->tag('doctrine_phpcr.initializer');
15+
};

src/Resources/config/initializer-phpcr.xml

Lines changed: 0 additions & 16 deletions
This file was deleted.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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->set('cmf_routing.orm_content_repository', \Symfony\Cmf\Bundle\RoutingBundle\Doctrine\Orm\ContentRepository::class)
10+
->args([service('doctrine')])
11+
->call('setManagerName', ['%cmf_routing.dynamic.persistence.orm.manager_name%']);
12+
13+
$services->alias('cmf_routing.content_repository', 'cmf_routing.orm_content_repository');
14+
15+
$services->set('cmf_routing.orm_candidates', \Symfony\Cmf\Component\Routing\Candidates\Candidates::class)
16+
->args([
17+
'%cmf_routing.dynamic.locales%',
18+
'%cmf_routing.dynamic.limit_candidates%',
19+
]);
20+
21+
$services->set('cmf_routing.route_provider', \Symfony\Cmf\Bundle\RoutingBundle\Doctrine\Orm\RouteProvider::class)
22+
->public()
23+
->args([
24+
service('doctrine'),
25+
service('cmf_routing.orm_candidates'),
26+
'%cmf_routing.dynamic.persistence.orm.route_class%',
27+
])
28+
->call('setManagerName', ['%cmf_routing.dynamic.persistence.orm.manager_name%'])
29+
->call('setRouteCollectionLimit', ['%cmf_routing.route_collection_limit%']);
30+
};

src/Resources/config/provider-orm.xml

Lines changed: 0 additions & 31 deletions
This file was deleted.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
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->set('cmf_routing.phpcr_route_provider', \Symfony\Cmf\Bundle\RoutingBundle\Doctrine\Phpcr\RouteProvider::class)
10+
->args([
11+
service('doctrine_phpcr'),
12+
service('cmf_routing.phpcr_candidates_prefix'),
13+
null,
14+
service('logger')->ignoreOnInvalid(),
15+
])
16+
->call('setManagerName', ['%cmf_routing.dynamic.persistence.phpcr.manager_name%'])
17+
->call('setRouteCollectionLimit', ['%cmf_routing.route_collection_limit%']);
18+
19+
$services->alias('cmf_routing.route_provider', 'cmf_routing.phpcr_route_provider')
20+
->public();
21+
22+
$services->set('cmf_routing.phpcr_candidates_prefix', \Symfony\Cmf\Bundle\RoutingBundle\Doctrine\Phpcr\PrefixCandidates::class)
23+
->args([
24+
'%cmf_routing.dynamic.persistence.phpcr.route_basepaths%',
25+
'%cmf_routing.dynamic.locales%',
26+
service('doctrine_phpcr'),
27+
'%cmf_routing.dynamic.limit_candidates%',
28+
])
29+
->call('setManagerName', ['%cmf_routing.dynamic.persistence.phpcr.manager_name%']);
30+
31+
$services->set('cmf_routing.phpcr_content_repository', \Symfony\Cmf\Bundle\RoutingBundle\Doctrine\Phpcr\ContentRepository::class)
32+
->args([service('doctrine_phpcr')])
33+
->call('setManagerName', ['%cmf_routing.dynamic.persistence.phpcr.manager_name%']);
34+
35+
$services->alias('cmf_routing.content_repository', 'cmf_routing.phpcr_content_repository');
36+
37+
$services->set('cmf_routing.phpcrodm_route_idprefix_listener', \Symfony\Cmf\Bundle\RoutingBundle\Doctrine\Phpcr\IdPrefixListener::class)
38+
->args([service('cmf_routing.phpcr_candidates_prefix')])
39+
->tag('doctrine_phpcr.event_listener', ['event' => 'postLoad'])
40+
->tag('doctrine_phpcr.event_listener', ['event' => 'postPersist'])
41+
->tag('doctrine_phpcr.event_listener', ['event' => 'postMove']);
42+
43+
$services->set('cmf_routing.phpcrodm_route_locale_listener', \Symfony\Cmf\Bundle\RoutingBundle\Doctrine\Phpcr\LocaleListener::class)
44+
->args([
45+
service('cmf_routing.phpcr_candidates_prefix'),
46+
'%cmf_routing.dynamic.locales%',
47+
'%cmf_routing.dynamic.auto_locale_pattern%',
48+
])
49+
->tag('doctrine_phpcr.event_listener', ['event' => 'postLoad'])
50+
->tag('doctrine_phpcr.event_listener', ['event' => 'postPersist'])
51+
->tag('doctrine_phpcr.event_listener', ['event' => 'postMove']);
52+
};

0 commit comments

Comments
 (0)