From 3eb3f6846b0f32ac1cf22dfb43bc177826814220 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCcher?= Date: Wed, 28 Oct 2026 16:50:40 +0100 Subject: [PATCH] Register LaravelPresenceResolver in services.neon Co-Authored-By: Claude Opus 5.5 --- config/services/services.neon | 1 + config/symfony-rules.neon | 2 -- .../NodeAnalyzer/LaravelPresenceResolverTest.php | 16 ++++++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/config/services/services.neon b/config/services/services.neon index ccbe9822..7d92cf30 100644 --- a/config/services/services.neon +++ b/config/services/services.neon @@ -9,6 +9,7 @@ services: - Symplify\PHPStanRules\Naming\ClassToSuffixResolver - Symplify\PHPStanRules\NodeAnalyzer\AttributeFinder - Symplify\PHPStanRules\NodeAnalyzer\EnumAnalyzer + - Symplify\PHPStanRules\NodeAnalyzer\LaravelPresenceResolver - Symplify\PHPStanRules\ParentClassMethodNodeResolver - Symplify\PHPStanRules\PhpDoc\BarePhpDocParser - Symplify\PHPStanRules\PhpDoc\PhpDocResolver diff --git a/config/symfony-rules.neon b/config/symfony-rules.neon index 40941ccd..a65240be 100644 --- a/config/symfony-rules.neon +++ b/config/symfony-rules.neon @@ -55,8 +55,6 @@ conditionalTags: phpstan.rules.rule: %symplify.symfony% services: - - Symplify\PHPStanRules\NodeAnalyzer\LaravelPresenceResolver - - class: Symplify\PHPStanRules\Composer\ComposerRequireResolver arguments: diff --git a/tests/NodeAnalyzer/LaravelPresenceResolverTest.php b/tests/NodeAnalyzer/LaravelPresenceResolverTest.php index eb9da903..ef17bf6d 100644 --- a/tests/NodeAnalyzer/LaravelPresenceResolverTest.php +++ b/tests/NodeAnalyzer/LaravelPresenceResolverTest.php @@ -16,4 +16,20 @@ public function testNonLaravelProject(): void // Laravel is not installed here, so it must not be detected $this->assertFalse($laravelPresenceResolver->isLaravelProject()); } + + public function testRegisteredInSharedServices(): void + { + // rules picked one by one only include services.neon, so the resolver must be registered there + $laravelPresenceResolver = self::getContainer()->getByType(LaravelPresenceResolver::class); + + $this->assertInstanceOf(LaravelPresenceResolver::class, $laravelPresenceResolver); + } + + /** + * @return string[] + */ + public static function getAdditionalConfigFiles(): array + { + return [__DIR__ . '/../config/included_services.neon']; + } }