Breaking: #102835 - Strict typing in final TypoLinkCodecService¶
See forge#102835
Description¶
The \TYPO3\CMS\Core\LinkHandling\TypoLinkCodecService
, used to encode
and decode TypoLinks, has been declared readonly
and set final
.
Additionally, the class does now use strict typing and the decode()
method's first parameter $typoLink
is now a type hinted string
.
This has been done in combination with the introduction of the two new PSR-14
events BeforeTypoLinkEncodedEvent
and AfterTypoLinkDecodedEvent
,
which allow to fully influence the encode and decode functionality, making
any cross classing superfluous.
Impact¶
Extending / cross classing TypoLinkCodecService
does no longer work
and will lead to PHP errors.
Calling decode()
with the first parameter $typolink
being not
a string
will lead to a PHP TypeError.
Affected installations¶
All installations extending / cross classing TypoLinkCodecService
or
calling decode()
with the first parameter $typolink
not being
a string
.
Migration¶
Instead of extending / cross classing TypoLinkCodecService
use the
new PSR-14 events
to modify the functionality.
Ensure to always provide a string
as first parameter $typolink
,
when calling decode()
in your extension code.