Skip to content

Commit fcf521b

Browse files
committed
move to php format for Symfony DI config
1 parent a5399a2 commit fcf521b

File tree

3 files changed

+44
-33
lines changed

3 files changed

+44
-33
lines changed

src/DependencyInjection/ExerciseHTMLPurifierExtension.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Exercise\HTMLPurifierBundle\HTMLPurifiersRegistryInterface;
99
use Symfony\Component\Config\FileLocator;
1010
use Symfony\Component\DependencyInjection\ContainerBuilder;
11+
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
1112
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
1213
use Symfony\Component\DependencyInjection\Reference;
1314
use Symfony\Component\DependencyInjection\Extension\Extension;
@@ -16,9 +17,9 @@ class ExerciseHTMLPurifierExtension extends Extension
1617
{
1718
public function load(array $configs, ContainerBuilder $container): void
1819
{
19-
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
20+
$loader = new PhpFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
2021

21-
$loader->load('html_purifier.xml');
22+
$loader->load('services.php');
2223

2324
$configs = $this->processConfiguration(new Configuration(), $configs);
2425

@@ -30,8 +31,6 @@ public function load(array $configs, ContainerBuilder $container): void
3031
}
3132

3233
$serializerPaths = [];
33-
// Drop when require Symfony > 3.4
34-
$registerAlias = method_exists($container, 'registerAliasForArgument');
3534

3635
foreach ($configs['html_profiles'] as $name => $definition) {
3736
$configId = "exercise_html_purifier.config.$name";
@@ -71,7 +70,7 @@ public function load(array $configs, ContainerBuilder $container): void
7170
$serializerPaths[] = $definition['config']['Cache.SerializerPath'];
7271
}
7372

74-
if ($registerAlias && $default) {
73+
if ($default) {
7574
$container->registerAliasForArgument($id, \HTMLPurifier::class, "$name.purifier");
7675
}
7776
}

src/Resources/config/html_purifier.xml

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

src/Resources/config/services.php

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
6+
7+
8+
use Exercise\HTMLPurifierBundle\CacheWarmer\SerializerCacheWarmer;
9+
use Exercise\HTMLPurifierBundle\Form\TypeExtension\HTMLPurifierTextTypeExtension;
10+
use Exercise\HTMLPurifierBundle\HTMLPurifiersRegistryInterface;
11+
use Exercise\HTMLPurifierBundle\Twig\HTMLPurifierExtension;
12+
use Exercise\HTMLPurifierBundle\Twig\HTMLPurifierRuntime;
13+
use Symfony\Component\Form\Extension\Core\Type\TextType;
14+
15+
return function (ContainerConfigurator $container): void {
16+
$container->services()
17+
->set('exercise_html_purifier.cache_warmer.serializer', SerializerCacheWarmer::class)
18+
->tag('kernel.cache_warmer')
19+
->args([
20+
abstract_arg('cache paths'),
21+
abstract_arg('profiles'),
22+
service(HTMLPurifiersRegistryInterface::class),
23+
service('filesystem'),
24+
])
25+
26+
->set('exercise_html_purifier.form.text_type_extension', HTMLPurifierTextTypeExtension::class)
27+
->tag('form.type_extension', ['extended_type' => TextType::class])
28+
->args([
29+
service(HTMLPurifiersRegistryInterface::class),
30+
])
31+
32+
->set('exercise_html_purifier.twig.extension', HTMLPurifierExtension::class)
33+
->tag('twig.extension')
34+
35+
->set('exercise_html_purifier.twig.runtime', HTMLPurifierRuntime::class)
36+
->tag('twig.runtime')
37+
->args([
38+
service(HTMLPurifiersRegistryInterface::class),
39+
]);
40+
};

0 commit comments

Comments
 (0)