1.. include:: ../../Includes.txt
2
3=================================
4Breaking: #87594 - Harden extbase
5=================================
6
7See :issue:`87594`
8
9Description
10===========
11
12While hardening Extbase classes, method signatures changed due to an enforced strict type mode and introduced type hints for scalars.
13The change of signatures is considered breaking for the following methods of the following interfaces and their implementations and for the following classes and their derivatives:
14
15- :php:`\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface::getUid`
16- :php:`\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface::setPid`
17- :php:`\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface::getPid`
18- :php:`\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface::_isNew`
19- :php:`\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface::_setProperty`
20- :php:`\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface::_getProperty`
21- :php:`\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface::_getProperties`
22- :php:`\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface::_getCleanProperty`
23- :php:`\TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject::getUid`
24- :php:`\TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject::setPid`
25- :php:`\TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject::getPid`
26- :php:`\TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject::_isNew`
27- :php:`\TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject::_setProperty`
28- :php:`\TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject::_getProperty`
29- :php:`\TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject::_getProperties`
30- :php:`\TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject::_getCleanProperty`
31- :php:`\TYPO3\CMS\Extbase\Service\ImageService::applyProcessingInstructions`
32- :php:`\TYPO3\CMS\Extbase\Service\ImageService::getImageUri`
33- :php:`\TYPO3\CMS\Extbase\Service\ImageService::getImage`
34- :php:`\TYPO3\CMS\Extbase\Property\TypeConverterInterface::getSupportedSourceTypes()`
35- :php:`\TYPO3\CMS\Extbase\Property\TypeConverterInterface::getSupportedTargetType()`
36- :php:`\TYPO3\CMS\Extbase\Property\TypeConverterInterface::getTargetTypeForSource()`
37- :php:`\TYPO3\CMS\Extbase\Property\TypeConverterInterface::getPriority()`
38- :php:`\TYPO3\CMS\Extbase\Property\TypeConverterInterface::canConvertFrom()`
39- :php:`\TYPO3\CMS\Extbase\Property\TypeConverterInterface::getSourceChildPropertiesToBeConverted()`
40- :php:`\TYPO3\CMS\Extbase\Property\TypeConverterInterface::getTypeOfChildProperty()`
41- :php:`\TYPO3\CMS\Extbase\Property\TypeConverterInterface::convertFrom()`
42- :php:`\TYPO3\CMS\Extbase\Error\Message::__construct`
43- :php:`\TYPO3\CMS\Extbase\Error\Message::getMessage`
44- :php:`\TYPO3\CMS\Extbase\Error\Message::getCode`
45- :php:`\TYPO3\CMS\Extbase\Error\Message::getArguments`
46- :php:`\TYPO3\CMS\Extbase\Error\Message::getTitle`
47- :php:`\TYPO3\CMS\Extbase\Error\Message::render`
48- :php:`\TYPO3\CMS\Extbase\Configuration\ConfigurationManager::getContentObject`
49- :php:`\TYPO3\CMS\Extbase\Configuration\ConfigurationManager::getConfiguration`
50- :php:`\TYPO3\CMS\Extbase\Configuration\ConfigurationManager::isFeatureEnabled`
51- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::reset()`
52- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::build()`
53- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::uriFor()`
54- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setAbsoluteUriScheme()`
55- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setAddQueryString()`
56- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setAddQueryStringMethod()`
57- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setArgumentPrefix()`
58- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setArguments()`
59- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setArgumentsToBeExcludedFromQueryString()`
60- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setCreateAbsoluteUri()`
61- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setFormat()`
62- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setLinkAccessRestrictedPages()`
63- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setNoCache()`
64- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setSection()`
65- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setTargetPageType()`
66- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setTargetPageUid()`
67- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::setUseCacheHash()`
68- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::getAddQueryString()`
69- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::getAddQueryStringMethod()`
70- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::getArguments()`
71- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::getArgumentsToBeExcludedFromQueryString()`
72- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::getCreateAbsoluteUri()`
73- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::getFormat()`
74- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::getLinkAccessRestrictedPages()`
75- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::getNoCache()`
76- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::getSection()`
77- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::getTargetPageUid()`
78- :php:`\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::getUseCacheHash()`
79
80
81Impact
82======
83
84PHP might throw a fatal error if the method signature(s) of your implementations/derivatives aren't compatible with the interface(s) and/or parent class(es).
85
86
87Affected Installations
88======================
89
90- All installations that use classes that implement mentioned interfaces and their methods.
91- All installations that use classes that inherit mentioned classes and overwrite their methods.
92
93
94Migration
95=========
96
97Methods need to be adjusted to be compatible with the parent class and/or interface signature.
98
99.. index:: PHP-API, NotScanned
100