[FEATURE] Let class schema detect multiple property types
Extbase creates class schema objects for classes to gather information for further analysis. One part of that information is property types. In recent TYPO3 and PHP versions, extbase did expect a property to have zero or one type. Due to changes to PHP (Union Types/Intersection Types), extbase's internal behaviour needs to change and detect all declared types. This is especially useful in models whose properties can now be declared as public Entity|LazyLoadingProxy|null $reference = null; Releases: main Resolves: #98132 Change-Id: I36dd8fd3d152e8dbf0443a5a1866c444d6fecbd0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75417 Tested-by:Stefan Froemken <froemken@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Froemken <froemken@gmail.com> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Markus Klein <markus.klein@typo3.org>
Showing
- Build/phpstan/phpstan-baseline.neon 0 additions, 5 deletionsBuild/phpstan/phpstan-baseline.neon
- typo3/sysext/core/Documentation/Changelog/12.3/Feature-98132-LetClassSchemaDetectMultiplePropertyTypes.rst 82 additions, 0 deletions...ature-98132-LetClassSchemaDetectMultiplePropertyTypes.rst
- typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapFactory.php 19 additions, 2 deletions...ase/Classes/Persistence/Generic/Mapper/DataMapFactory.php
- typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php 62 additions, 15 deletions...extbase/Classes/Persistence/Generic/Mapper/DataMapper.php
- typo3/sysext/extbase/Classes/Property/TypeConverter/ObjectConverter.php 3 additions, 0 deletions...xtbase/Classes/Property/TypeConverter/ObjectConverter.php
- typo3/sysext/extbase/Classes/Property/TypeConverter/PersistentObjectConverter.php 15 additions, 2 deletions...sses/Property/TypeConverter/PersistentObjectConverter.php
- typo3/sysext/extbase/Classes/Reflection/ClassSchema.php 3 additions, 20 deletionstypo3/sysext/extbase/Classes/Reflection/ClassSchema.php
- typo3/sysext/extbase/Classes/Reflection/ClassSchema/Exception/NoPropertyTypesException.php 32 additions, 0 deletions...ection/ClassSchema/Exception/NoPropertyTypesException.php
- typo3/sysext/extbase/Classes/Reflection/ClassSchema/Property.php 71 additions, 10 deletions...ysext/extbase/Classes/Reflection/ClassSchema/Property.php
- typo3/sysext/extbase/Classes/Validation/ValidatorResolver.php 5 additions, 3 deletions...3/sysext/extbase/Classes/Validation/ValidatorResolver.php
- typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Classes/Domain/Model/Blog.php 2 additions, 6 deletions...res/Extensions/blog_example/Classes/Domain/Model/Blog.php
- typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Classes/Domain/Model/Category.php 1 addition, 2 deletions...Extensions/blog_example/Classes/Domain/Model/Category.php
- typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Classes/Domain/Model/Post.php 7 additions, 7 deletions...res/Extensions/blog_example/Classes/Domain/Model/Post.php
- typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Classes/Domain/Model/TtContent.php 3 additions, 0 deletions...xtensions/blog_example/Classes/Domain/Model/TtContent.php
- typo3/sysext/extbase/Tests/Unit/Reflection/ClassSchema/Property/PropertyWithTypeDeclarationsTest.php 283 additions, 0 deletions...ClassSchema/Property/PropertyWithTypeDeclarationsTest.php
- typo3/sysext/extbase/Tests/Unit/Reflection/ClassSchema/Property/PropertyWithoutTypeDeclarationsTest.php 288 additions, 0 deletions...ssSchema/Property/PropertyWithoutTypeDeclarationsTest.php
- typo3/sysext/extbase/Tests/Unit/Reflection/ClassSchema/PropertyTest.php 70 additions, 6 deletions...xtbase/Tests/Unit/Reflection/ClassSchema/PropertyTest.php
- typo3/sysext/extbase/Tests/Unit/Reflection/ClassSchemaTest.php 2 additions, 0 deletions.../sysext/extbase/Tests/Unit/Reflection/ClassSchemaTest.php
- typo3/sysext/extbase/Tests/Unit/Reflection/Fixture/DummyClassWithAllTypesOfProperties.php 12 additions, 0 deletions...Reflection/Fixture/DummyClassWithAllTypesOfProperties.php
- typo3/sysext/extbase/Tests/Unit/Reflection/Fixture/Property/DummyEntityWithTypeDeclarations.php 74 additions, 0 deletions...tion/Fixture/Property/DummyEntityWithTypeDeclarations.php
Please register or sign in to comment