Skip to content

Commit f8da79c

Browse files
committed
Remove autowiring
1 parent 3841fb0 commit f8da79c

File tree

5 files changed

+45
-20
lines changed

5 files changed

+45
-20
lines changed

config/services.xml

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,22 @@
44
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
55

66
<services>
7-
<defaults autowire="true" autoconfigure="true" />
7+
<service id="meilisearch.engine" class="Meilisearch\Bundle\Engine">
8+
<argument type="service" id="meilisearch.client" />
9+
</service>
810

9-
<prototype namespace="Meilisearch\Bundle\Command\" resource="../src/Command" />
11+
<!-- After bumping to Symfony >5.1 deeprecate public services into private services -->
12+
<service id="meilisearch.service" class="Meilisearch\Bundle\Services\MeilisearchService" public="true">
13+
<argument /><!-- After bumping to Symfony 5.1 use type="abstract" -->
14+
<argument type="service" id="meilisearch.engine" />
15+
<argument type="collection" /><!-- After bumping to Symfony 5.1 use type="abstract" -->
16+
<argument type="service" id="property_accessor" />
17+
</service>
18+
<service id="search.service" alias="meilisearch.service" public="true">
19+
<deprecated package="meilisearch/search-bundle" version="0.14">The "%alias_id%" service alias is deprecated. Use "meilisearch.service" instead.</deprecated>
20+
</service>
1021

11-
<service id="meilisearch.search_indexer_subscriber"
12-
class="Meilisearch\Bundle\EventListener\DoctrineEventSubscriber"
13-
public="true">
22+
<service id="meilisearch.search_indexer_subscriber" class="Meilisearch\Bundle\EventListener\DoctrineEventSubscriber" public="true">
1423
<argument type="service" id="meilisearch.service" />
1524
</service>
1625
<service id="search.search_indexer_subscriber" alias="meilisearch.search_indexer_subscriber">
@@ -34,5 +43,28 @@
3443
<deprecated package="meilisearch/search-bundle" version="0.14">The "%alias_id%" service alias is deprecated. Use "meilisearch.client" instead.</deprecated>
3544
</service>
3645
<service id="Meilisearch\Bundle\SearchService" alias="meilisearch.service" />
46+
47+
<service id="Meilisearch\Bundle\Command\MeilisearchClearCommand">
48+
<argument type="service" id="meilisearch.service" />
49+
<tag name="console.command" />
50+
</service>
51+
52+
<service id="Meilisearch\Bundle\Command\MeilisearchCreateCommand">
53+
<argument type="service" id="meilisearch.service" />
54+
<argument type="service" id="meilisearch.client" />
55+
<tag name="console.command" />
56+
</service>
57+
58+
<service id="Meilisearch\Bundle\Command\MeilisearchDeleteCommand">
59+
<argument type="service" id="meilisearch.service" />
60+
<tag name="console.command" />
61+
</service>
62+
63+
<service id="Meilisearch\Bundle\Command\MeilisearchImportCommand">
64+
<argument type="service" id="meilisearch.service" />
65+
<argument type="service" id="doctrine" />
66+
<argument type="service" id="meilisearch.client" />
67+
<tag name="console.command" />
68+
</service>
3769
</services>
3870
</container>

src/DependencyInjection/Configuration.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public function getConfigTreeBuilder(): TreeBuilder
2020
->scalarNode('url')->end()
2121
->scalarNode('api_key')->end()
2222
->scalarNode('prefix')
23-
->defaultValue(null)
23+
->defaultNull()
2424
->end()
2525
->scalarNode('nbResults')
2626
->defaultValue(20)

src/DependencyInjection/MeilisearchExtension.php

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,9 @@ public function load(array $configs, ContainerBuilder $container): void
4747
$container->removeDefinition('meilisearch.search_indexer_subscriber');
4848
}
4949

50-
$engineDefinition = new Definition(Engine::class, [new Reference('meilisearch.client')]);
51-
52-
$searchDefinition = (new Definition(
53-
MeilisearchService::class,
54-
[new Reference($config['serializer']), $engineDefinition, $config]
55-
));
56-
57-
$container->setDefinition('meilisearch.service', $searchDefinition->setPublic(true));
58-
$container->setAlias('search.service', 'meilisearch.service')->setPublic(true);
50+
$container->findDefinition('meilisearch.service')
51+
->replaceArgument(0, new Reference($config['serializer']))
52+
->replaceArgument(2, $config);
5953
}
6054

6155
/**

src/Services/MeilisearchService.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
use Meilisearch\Bundle\SearchService;
1616
use Symfony\Component\Config\Definition\Exception\Exception;
1717
use Symfony\Component\PropertyAccess\PropertyAccess;
18-
use Symfony\Component\PropertyAccess\PropertyAccessor;
18+
use Symfony\Component\PropertyAccess\PropertyAccessorInterface;
1919
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
2020

2121
final class MeilisearchService implements SearchService
2222
{
2323
private NormalizerInterface $normalizer;
2424
private Engine $engine;
2525
private Collection $configuration;
26-
private PropertyAccessor $propertyAccessor;
26+
private PropertyAccessorInterface $propertyAccessor;
2727
/**
2828
* @var list<class-string>
2929
*/
@@ -42,12 +42,12 @@ final class MeilisearchService implements SearchService
4242
private array $classToSerializerGroup;
4343
private array $indexIfMapping;
4444

45-
public function __construct(NormalizerInterface $normalizer, Engine $engine, array $configuration)
45+
public function __construct(NormalizerInterface $normalizer, Engine $engine, array $configuration, PropertyAccessorInterface $propertyAccessor = null)
4646
{
4747
$this->normalizer = $normalizer;
4848
$this->engine = $engine;
4949
$this->configuration = new Collection($configuration);
50-
$this->propertyAccessor = PropertyAccess::createPropertyAccessor();
50+
$this->propertyAccessor = $propertyAccessor ?? PropertyAccess::createPropertyAccessor();
5151

5252
$this->setSearchableEntities();
5353
$this->setAggregatorsAndEntitiesAggregators();

tests/Kernel.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ protected function configureContainer(ContainerBuilder $container, LoaderInterfa
3131
} else {
3232
$loader->load(__DIR__.'/config/config_php7.yaml');
3333
}
34-
$loader->load(__DIR__.'/../config/services.xml');
3534
$loader->load(__DIR__.'/config/meilisearch.yaml');
3635

3736
if (defined(ConnectionFactory::class.'::DEFAULT_SCHEME_MAP')) {

0 commit comments

Comments
 (0)