[BUGFIX] Optimize cache handling in ReflectionService 53/50953/8
authorHelmut Hummel <typo3@helhum.io>
Tue, 13 Dec 2016 22:39:13 +0000 (23:39 +0100)
committerMarkus Klein <markus.klein@typo3.org>
Thu, 15 Dec 2016 23:11:10 +0000 (00:11 +0100)
commit5b7c3f6f9abeb04a0e8803b82dea5a002fd69df0
treee0ea8f96b9b1f6d95f1c2bb658b37279caf3a39b
parentadf5e579f5407008d247623b979b2f3472cc4078
[BUGFIX] Optimize cache handling in ReflectionService

Method reflection objects are used temporarily to extract information
from methods. This information is eventually stored in the cache.
However the method reflection objects themselves must stay outside the cache
because they cannot be serialized. They also do not provide much value
as the information is stored in the cache anyway.
The only additional info these reflections provided is whether a method
existed or not in the class, which we now also cache as plain array.

Furthermore the information whether cache relevant properties were
updated and the cache needs to be saved again is now reset once it was
written. This ensures that the cache is only written once even the
ReflectionService is used multiple times.

Resolves: #78915
Resolves: #78977
Releases: master, 7.6, 6.2
Change-Id: I1d00f596633adab886c0db0dfddd71358fb67303
Reviewed-on: https://review.typo3.org/50953
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Stefan Rotsch <stefan.rotsch@aoe.com>
Tested-by: Stefan Rotsch <stefan.rotsch@aoe.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
typo3/sysext/extbase/Classes/Reflection/ReflectionService.php