Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit97da808

Browse files
[FrameworkBundle] Auto-exclude DI extensions, test cases, entities and messenger messages
1 parentc3c37f2 commit97da808

File tree

3 files changed

+28
-5
lines changed

3 files changed

+28
-5
lines changed

‎src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ CHANGELOG
1414
* Add support for signal plain name in the`messenger.stop_worker_on_signals` configuration
1515
* Deprecate the`framework.validation.cache` option
1616
* Add`--method` option to the`debug:router` command
17+
* Auto-exclude DI extensions, kernel, test cases, entities and messenger messages
1718

1819
7.2
1920
---

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,16 @@
1212
namespaceSymfony\Bundle\FrameworkBundle\DependencyInjection;
1313

1414
useComposer\InstalledVersions;
15+
useDoctrine\ORM\Mapping\Embeddable;
16+
useDoctrine\ORM\Mapping\Entity;
17+
useDoctrine\ORM\Mapping\MappedSuperclass;
1518
useHttp\Client\HttpAsyncClient;
1619
useHttp\Client\HttpClient;
1720
usephpDocumentor\Reflection\DocBlockFactoryInterface;
1821
usephpDocumentor\Reflection\Types\ContextFactory;
1922
usePhpParser\Parser;
2023
usePHPStan\PhpDocParser\Parser\PhpDocParser;
24+
usePHPUnit\Framework\TestCase;
2125
usePsr\Cache\CacheItemPoolInterface;
2226
usePsr\Clock\ClockInterfaceasPsrClockInterface;
2327
usePsr\Container\ContainerInterfaceasPsrContainerInterface;
@@ -57,6 +61,7 @@
5761
useSymfony\Component\DependencyInjection\Alias;
5862
useSymfony\Component\DependencyInjection\Argument\ServiceLocatorArgument;
5963
useSymfony\Component\DependencyInjection\ChildDefinition;
64+
useSymfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
6065
useSymfony\Component\DependencyInjection\Compiler\ServiceLocatorTagPass;
6166
useSymfony\Component\DependencyInjection\ContainerBuilder;
6267
useSymfony\Component\DependencyInjection\ContainerInterface;
@@ -117,6 +122,7 @@
117122
useSymfony\Component\Mailer\EventListener\SmimeSignedMessageListener;
118123
useSymfony\Component\Mailer\Mailer;
119124
useSymfony\Component\Mercure\HubRegistry;
125+
useSymfony\Component\Messenger\Attribute\AsMessage;
120126
useSymfony\Component\Messenger\Attribute\AsMessageHandler;
121127
useSymfony\Component\Messenger\BridgeasMessengerBridge;
122128
useSymfony\Component\Messenger\Handler\BatchHandlerInterface;
@@ -757,12 +763,29 @@ static function (ChildDefinition $definition, AsPeriodicTask|AsCronTask $attribu
757763
}
758764
);
759765
}
760-
$container->registerAttributeForAutoconfiguration(JsonStreamable::class,staticfunction (ChildDefinition$definition,JsonStreamable$attribute):void {
761-
$definition->addTag('json_streamer.streamable', [
766+
767+
$container->registerForAutoconfiguration(CompilerPassInterface::class)
768+
->addExcludeTag('container.excluded.compiler_pass');
769+
$container->registerForAutoconfiguration(TestCase::class)
770+
->addExcludeTag('container.excluded.test_case');
771+
$container->registerAttributeForAutoconfiguration(AsMessage::class,staticfunction (ChildDefinition$definition) {
772+
$definition->addExcludeTag('container.excluded.messenger.message');
773+
});
774+
$container->registerAttributeForAutoconfiguration(Entity::class,staticfunction (ChildDefinition$definition) {
775+
$definition->addExcludeTag('container.excluded.doctrine.entity');
776+
});
777+
$container->registerAttributeForAutoconfiguration(Embeddable::class,staticfunction (ChildDefinition$definition) {
778+
$definition->addExcludeTag('container.excluded.doctrine.embeddable');
779+
});
780+
$container->registerAttributeForAutoconfiguration(MappedSuperclass::class,staticfunction (ChildDefinition$definition) {
781+
$definition->addExcludeTag('container.excluded.doctrine.mapped_superclass');
782+
});
783+
784+
$container->registerAttributeForAutoconfiguration(JsonStreamable::class,staticfunction (ChildDefinition$definition,JsonStreamable$attribute) {
785+
$definition->addExcludeTag('json_streamer.streamable', [
762786
'object' =>$attribute->asObject,
763787
'list' =>$attribute->asList,
764788
]);
765-
$definition->addTag('container.excluded');
766789
});
767790

768791
if (!$container->getParameter('kernel.debug')) {

‎src/Symfony/Bundle/FrameworkBundle/Kernel/MicroKernelTrait.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ public function registerContainerConfiguration(LoaderInterface $loader): void
165165
->setPublic(true)
166166
;
167167
}
168+
$container->setAlias($kernelClass,'kernel')->setPublic(true);
168169

169170
$kernelDefinition =$container->getDefinition('kernel');
170171
$kernelDefinition->addTag('routing.route_loader');
@@ -197,8 +198,6 @@ public function registerContainerConfiguration(LoaderInterface $loader): void
197198
$kernelLoader->registerAliasesForSinglyImplementedInterfaces();
198199
AbstractConfigurator::$valuePreProcessor =$valuePreProcessor;
199200
}
200-
201-
$container->setAlias($kernelClass,'kernel')->setPublic(true);
202201
});
203202
}
204203

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp