[FEATURE] Replace @inject with @TYPO3\CMS\Extbase\Annotation\Inject 90/54590/10
authorAlexander Schnitzler <git@alexanderschnitzler.de>
Wed, 8 Nov 2017 13:57:33 +0000 (14:57 +0100)
committerStefan Neufeind <typo3.neufeind@speedpartner.de>
Thu, 16 Nov 2017 15:46:18 +0000 (16:46 +0100)
commitd4f055b14ac5697204741ac03c6d81cab9fa4eb4
treec8131a92e877863924a7d41f1bd260af41b18d93
parent08a2cce33d37d672a5dc1b22487c0b9776eeea72
[FEATURE] Replace @inject with @TYPO3\CMS\Extbase\Annotation\Inject

This patch introduces the usage of doctrine annotations.
Therefore the AnnotationRegistry is configured during the
bootstrap and the annotation "TYPO3\CMS\Extbase\Annotation\Inject"
is evaluated when building a ClassSchema for a class.

On top of that this patch puts the static variable
$ignoredTags into the DocCommentParser class, which
saved quite some bytes of RAM when reconstituting
the ClassSchema objects from the cache.

Resolves: #82869
Releases: master
Change-Id: I99d17706395ebc0c308c7f611c59f207fe0b6233
Reviewed-on: https://review.typo3.org/54590
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Tested-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
18 files changed:
composer.json
composer.lock
typo3/sysext/core/Classes/Core/Bootstrap.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-82869-ReplaceInjectWithTYPO3CMSExtbaseAnnotationInject.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Feature-82869-ReplaceInjectWithTYPO3CMSExtbaseAnnotationInject.rst [new file with mode: 0644]
typo3/sysext/extbase/Classes/Annotation/Inject.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Reflection/ClassSchema.php
typo3/sysext/extbase/Classes/Reflection/DocCommentParser.php
typo3/sysext/extbase/Tests/Unit/Reflection/ClassSchemaTest.php
typo3/sysext/extbase/Tests/Unit/Reflection/Fixture/DummyClassWithAllTypesOfProperties.php
typo3/sysext/extbase/Tests/Unit/Reflection/Fixture/DummyClassWithInjectDoctrineAnnotation.php [new file with mode: 0644]
typo3/sysext/extbase/Tests/UnitDeprecated/Reflection/ClassSchemaTest.php [new file with mode: 0644]
typo3/sysext/extbase/Tests/UnitDeprecated/Reflection/Fixture/DummyClassWithInjectProperty.php [new file with mode: 0644]
typo3/sysext/install/Classes/Controller/UpgradeController.php
typo3/sysext/install/Classes/ExtensionScanner/Php/Matcher/PropertyAnnotationMatcher.php [new file with mode: 0644]
typo3/sysext/install/Configuration/ExtensionScanner/Php/PropertyAnnotationMatcher.php [new file with mode: 0644]
typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/Fixtures/PropertyAnnotationMatcherFixture.php [new file with mode: 0644]
typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/PropertyAnnotationMatcherTest.php [new file with mode: 0644]