[TASK] Improve ClassSchema methods api 22/59422/10
authorAlexander Schnitzler <git@alexanderschnitzler.de>
Sun, 13 Jan 2019 12:46:26 +0000 (13:46 +0100)
committerAnja Leichsenring <aleichsenring@ab-softlab.de>
Fri, 1 Feb 2019 15:44:15 +0000 (16:44 +0100)
commit65c12348e397decb3e41ac28d3a913dc6ebfdd16
tree2bff2c954cc55a8d1d2da0c9f5ce906518d1f77c
parent361b8ca2a4ffb00343619fa1e5eafab89858267e
[TASK] Improve ClassSchema methods api

This patch introduces a new Method class to have an
easier and more stable api to get information about class
methods from ClassSchema objects.

The reflection data fetched and stored by/in the ClassSchema
objects is no longer publicly available as an array. Instead,
Method objects are returned for the following calls:

- getMethod
- getMethods
- getInjectMethods

Also it removes the following method:

- getConstructorArguments

The following constants are marked as private:

- ClassSchema::MODELTYPE_ENTITY
- ClassSchema::MODELTYPE_VALUEOBJECT

Releases: master
Resolves: #87427
Change-Id: I38e8a7287896e9303fad1fa8f8f9182895365adc
Reviewed-on: https://review.typo3.org/59422
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Mona Muzaffar <mona.muzaffar@gmx.de>
Tested-by: Mona Muzaffar <mona.muzaffar@gmx.de>
Tested-by: TYPO3com <noreply@typo3.com>
Reviewed-by: André Schließer <andy.schliesser@gmail.com>
Tested-by: André Schließer <andy.schliesser@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
16 files changed:
typo3/sysext/core/Documentation/Changelog/master/Important-87427-ClassSchemaConstantsMarkedAsPrivate.rst [new file with mode: 0644]
typo3/sysext/extbase/Classes/Mvc/Controller/ActionController.php
typo3/sysext/extbase/Classes/Object/Container/Container.php
typo3/sysext/extbase/Classes/Property/TypeConverter/ObjectConverter.php
typo3/sysext/extbase/Classes/Reflection/ClassSchema.php
typo3/sysext/extbase/Classes/Reflection/ClassSchema/Exception/NoSuchMethodException.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Reflection/ClassSchema/Exception/NoSuchMethodParameterException.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Reflection/ClassSchema/Method.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Reflection/ClassSchema/MethodParameter.php [new file with mode: 0644]
typo3/sysext/extbase/Tests/Unit/Mvc/Controller/ActionControllerTest.php
typo3/sysext/extbase/Tests/Unit/Property/TypeConverter/ObjectConverterTest.php
typo3/sysext/extbase/Tests/Unit/Property/TypeConverter/PersistentObjectConverterTest.php
typo3/sysext/extbase/Tests/Unit/Reflection/ClassSchema/MethodParameterTest.php [new file with mode: 0644]
typo3/sysext/extbase/Tests/Unit/Reflection/ClassSchema/MethodTest.php [new file with mode: 0644]
typo3/sysext/extbase/Tests/Unit/Reflection/ClassSchemaTest.php
typo3/sysext/install/Configuration/ExtensionScanner/Php/ClassConstantMatcher.php