[BUGFIX] Optimize cache handling in ReflectionService 80/50980/2
authorHelmut Hummel <typo3@helhum.io>
Tue, 13 Dec 2016 22:39:13 +0000 (23:39 +0100)
committerMarkus Klein <markus.klein@typo3.org>
Fri, 16 Dec 2016 00:18:07 +0000 (01:18 +0100)
commit4983935849938f12ba9b5782b3121b0edc8d4550
tree07161a63941717260e9cdb65c34927bcc26ff07b
parent6a77b6c5224a7022b0ad3eafb4987daf3a3cb8a3
[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/50980
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
typo3/sysext/extbase/Classes/Reflection/ReflectionService.php