Skip to content

Commit 25826ba

Browse files
authored
Merge pull request #61 from Bee-Lab/fix-container
🐛 fix container configuration
2 parents 3264f99 + 1cc592c commit 25826ba

3 files changed

Lines changed: 20 additions & 2 deletions

File tree

config/services.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@
55
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
66

77
<services>
8-
<service id="beelab_recaptcha2.google_recaptcha.request_method" class="%beelab_recaptcha2.request_method%" />
98
<service id="beelab_recaptcha2.google_recaptcha" class="ReCaptcha\ReCaptcha">
109
<argument>%beelab_recaptcha2.secret%</argument>
11-
<argument type="service" id="beelab_recaptcha2.google_recaptcha.request_method" />
10+
<argument /><!-- replaced by Configuration -->
1211
</service>
1312
<service id="Beelab\Recaptcha2Bundle\Recaptcha\SymfonyClientRequestMethod" public="false">
1413
<call method="setClient">

src/BeelabRecaptcha2Bundle.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Beelab\Recaptcha2Bundle;
44

5+
use Beelab\Recaptcha2Bundle\DependencyInjection\Compiler\RequestMethodPass;
56
use Beelab\Recaptcha2Bundle\DependencyInjection\Compiler\TwigFormPass;
67
use Symfony\Component\DependencyInjection\ContainerBuilder;
78
use Symfony\Component\HttpKernel\Bundle\Bundle;
@@ -12,6 +13,7 @@ public function build(ContainerBuilder $container): void
1213
{
1314
parent::build($container);
1415
$container->addCompilerPass(new TwigFormPass());
16+
$container->addCompilerPass(new RequestMethodPass());
1517
}
1618

1719
public function getPath(): string
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
namespace Beelab\Recaptcha2Bundle\DependencyInjection\Compiler;
4+
5+
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
6+
use Symfony\Component\DependencyInjection\ContainerBuilder;
7+
8+
final class RequestMethodPass implements CompilerPassInterface
9+
{
10+
public function process(ContainerBuilder $container): void
11+
{
12+
$service = $container->getDefinition('beelab_recaptcha2.google_recaptcha');
13+
$methodClass = $container->getParameter('beelab_recaptcha2.request_method');
14+
$methodService = $container->getDefinition($methodClass);
15+
$service->replaceArgument(1, $methodService);
16+
}
17+
}

0 commit comments

Comments
 (0)