[TASK] Add require() to php capable cache backend 86/57686/6
authorChristian Kuhn <lolli@schwarzbu.ch>
Tue, 5 Jun 2018 23:12:07 +0000 (01:12 +0200)
committerAndreas Fernandez <a.fernandez@scripting-base.de>
Wed, 25 Jul 2018 20:01:24 +0000 (22:01 +0200)
commitab0666b2c42ae7259a3bbf9eafc9e7068380386e
treec836722f5118b361bd75128717d817e9b94862cb
parent0a6dec433c535b13fcece43dab46e88e2f0be2f6
[TASK] Add require() to php capable cache backend

To allow loading php cache files more than once it is
necessary to add a require() method next to requireOnce()
to cache backends. This can be used if cache entries do
not execute one-time-per-process-only code, if they for
instance do not declare classes. This is needed to execute
for instance the functional test suite multiple times in
one process and to still make use of caching.
The cache_core php cache is affected by this: Those calls
are changed to require() instead of requireOnce() to make
them multi-loadable per request.
Note require() is not yet added to the PhpCapableBackendInterface
since that would be breaking, but marked as todo for v10.0

Resolves: #85648
Releases: master
Change-Id: Id711044e9554587dba38f976bd1c5bab23826de2
Reviewed-on: https://review.typo3.org/57686
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
12 files changed:
typo3/sysext/core/Classes/Cache/Backend/FileBackend.php
typo3/sysext/core/Classes/Cache/Backend/NullBackend.php
typo3/sysext/core/Classes/Cache/Backend/PhpCapableBackendInterface.php
typo3/sysext/core/Classes/Cache/Backend/SimpleFileBackend.php
typo3/sysext/core/Classes/Cache/Frontend/PhpFrontend.php
typo3/sysext/core/Classes/Http/MiddlewareStackResolver.php
typo3/sysext/core/Classes/Package/PackageManager.php
typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php
typo3/sysext/core/Tests/Unit/Cache/Backend/FileBackendTest.php
typo3/sysext/core/Tests/Unit/Cache/Frontend/PhpFrontendTest.php
typo3/sysext/core/Tests/Unit/Utility/ExtensionManagementUtilityTest.php
typo3/sysext/lowlevel/Classes/Controller/ConfigurationController.php