28
28
use Symfony \Component \Security \Core \Authorization \ExpressionLanguage ;
29
29
use Symfony \Component \Security \Core \Authorization \Voter \VoterInterface ;
30
30
use Symfony \Component \Security \Core \Encoder \Argon2iPasswordEncoder ;
31
+ use Symfony \Component \Templating \Helper \Helper ;
32
+ use Twig \Extension \AbstractExtension ;
31
33
32
34
/**
33
35
* SecurityExtension.
@@ -69,8 +71,18 @@ public function load(array $configs, ContainerBuilder $container)
69
71
$ loader ->load ('security.xml ' );
70
72
$ loader ->load ('security_listeners.xml ' );
71
73
$ loader ->load ('security_rememberme.xml ' );
72
- $ loader ->load ('templating_php.xml ' );
73
- $ loader ->load ('templating_twig.xml ' );
74
+
75
+ if (class_exists (Helper::class)) {
76
+ $ loader ->load ('templating_php.xml ' );
77
+
78
+ $ container ->getDefinition ('templating.helper.logout_url ' )->setPrivate (true );
79
+ $ container ->getDefinition ('templating.helper.security ' )->setPrivate (true );
80
+ }
81
+
82
+ if (class_exists (AbstractExtension::class)) {
83
+ $ loader ->load ('templating_twig.xml ' );
84
+ }
85
+
74
86
$ loader ->load ('collectors.xml ' );
75
87
$ loader ->load ('guard.xml ' );
76
88
@@ -79,8 +91,6 @@ public function load(array $configs, ContainerBuilder $container)
79
91
$ container ->getDefinition ('security.firewall.context ' )->setPrivate (true );
80
92
$ container ->getDefinition ('security.validator.user_password ' )->setPrivate (true );
81
93
$ container ->getDefinition ('security.rememberme.response_listener ' )->setPrivate (true );
82
- $ container ->getDefinition ('templating.helper.logout_url ' )->setPrivate (true );
83
- $ container ->getDefinition ('templating.helper.security ' )->setPrivate (true );
84
94
$ container ->getAlias ('security.encoder_factory ' )->setPrivate (true );
85
95
86
96
if ($ container ->hasParameter ('kernel.debug ' ) && $ container ->getParameter ('kernel.debug ' )) {
0 commit comments