Skip to content

Commit 7509871

Browse files
committed
[BUGFIX] Drop TransientBackendInterface marker on cache backend
TYPO3 v14 changed TransientBackendInterface from an empty marker interface to a proper contract with set(string $entryIdentifier, mixed \$data, ...): void That contract is incompatible with the parent Typo3DatabaseBackend's typed signature set(string \$entryIdentifier, string \$data, ...): void so v14 refuses to load a class that both extends Typo3DatabaseBackend and implements TransientBackendInterface, fataling with: Declaration of TYPO3\CMS\Core\Cache\Backend\Typo3DatabaseBackend::set(...) must be compatible with TYPO3\CMS\Core\Cache\Backend\TransientBackendInterface::set(...) ReverseProxyCacheBackend originally declared the marker so the configured VariableFrontend would skip serialize()/unserialize() on the stored URL strings. The optimisation was always minor (we store short strings), and the marker simply cannot coexist with Typo3DatabaseBackend on v14. Dropping the interface declaration returns to the default VariableFrontend behaviour — URLs are serialised/unserialised transparently — which is functionally identical and works on both v13 and v14.
1 parent 9ef9565 commit 7509871

1 file changed

Lines changed: 1 addition & 2 deletions

File tree

Classes/Cache/Backend/ReverseProxyCacheBackend.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
use B13\Proxycachemanager\Provider\ProxyProviderInterface;
2121
use Psr\Log\LoggerAwareTrait;
22-
use TYPO3\CMS\Core\Cache\Backend\TransientBackendInterface;
2322
use TYPO3\CMS\Core\Cache\Backend\Typo3DatabaseBackend;
2423
use TYPO3\CMS\Core\Database\ConnectionPool;
2524
use TYPO3\CMS\Core\Utility\GeneralUtility;
@@ -29,7 +28,7 @@
2928
* when removing or flushing, additionally does a HTTP Request
3029
* of course "setting" works naturally in am already working reverse proxy environment.
3130
*/
32-
class ReverseProxyCacheBackend extends Typo3DatabaseBackend implements TransientBackendInterface
31+
class ReverseProxyCacheBackend extends Typo3DatabaseBackend
3332
{
3433
use LoggerAwareTrait;
3534
protected ProxyProviderInterface $reverseProxyProvider;

0 commit comments

Comments
 (0)