Commit 7509871
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
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | 22 | | |
24 | 23 | | |
25 | 24 | | |
| |||
29 | 28 | | |
30 | 29 | | |
31 | 30 | | |
32 | | - | |
| 31 | + | |
33 | 32 | | |
34 | 33 | | |
35 | 34 | | |
| |||
0 commit comments