1616use Symfony \Component \DependencyInjection \Definition ;
1717use Symfony \Component \DependencyInjection \Reference ;
1818
19+ use function method_exists ;
20+
1921/**
2022 * Class for Symfony bundles to configure mappings for model classes not in the
2123 * auto-mapped folder.
@@ -154,8 +156,15 @@ public static function createAnnotationMappingDriver(array $namespaces, array $d
154156 );
155157
156158 $ reader = new Reference ('annotation_reader ' );
159+
160+ $ driverArgs = [$ reader , $ directories ];
157161 /* @phpstan-ignore class.notFound */
158- $ driver = new Definition (AnnotationDriver::class, [$ reader , $ directories , $ reportFieldsWhereDeclared ]);
162+ if (method_exists (AnnotationDriver::class, 'getReader ' )) {
163+ $ driverArgs [] = $ reportFieldsWhereDeclared ;
164+ }
165+
166+ /* @phpstan-ignore class.notFound */
167+ $ driver = new Definition (AnnotationDriver::class, $ driverArgs );
159168
160169 return new DoctrineOrmMappingsPass ($ driver , $ namespaces , $ managerParameters , $ enabledParameter , $ aliasMap );
161170 }
@@ -177,7 +186,12 @@ public static function createAnnotationMappingDriver(array $namespaces, array $d
177186 */
178187 public static function createAttributeMappingDriver (array $ namespaces , array $ directories , array $ managerParameters = [], $ enabledParameter = false , array $ aliasMap = [], bool $ reportFieldsWhereDeclared = false )
179188 {
180- $ driver = new Definition (AttributeDriver::class, [$ directories , $ reportFieldsWhereDeclared ]);
189+ $ driverArgs = [$ directories ];
190+ if (method_exists (AttributeDriver::class, 'getReader ' )) {
191+ $ driverArgs [] = $ reportFieldsWhereDeclared ;
192+ }
193+
194+ $ driver = new Definition (AttributeDriver::class, $ driverArgs );
181195
182196 return new DoctrineOrmMappingsPass ($ driver , $ namespaces , $ managerParameters , $ enabledParameter , $ aliasMap );
183197 }
0 commit comments