Breaking: #87594 - Harden extbase
See forge#87594
Description
While hardening Extbase classes, method signatures changed due to an enforced strict type mode and introduced type hints for scalars. The 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:
\TYPO3\
CMS\ Extbase\ Domain Object\ Domain Object Interface:: get Uid \TYPO3\
CMS\ Extbase\ Domain Object\ Domain Object Interface:: set Pid \TYPO3\
CMS\ Extbase\ Domain Object\ Domain Object Interface:: get Pid \TYPO3\
CMS\ Extbase\ Domain Object\ Domain Object Interface::_ is New \TYPO3\
CMS\ Extbase\ Domain Object\ Domain Object Interface::_ set Property \TYPO3\
CMS\ Extbase\ Domain Object\ Domain Object Interface::_ get Property \TYPO3\
CMS\ Extbase\ Domain Object\ Domain Object Interface::_ get Properties \TYPO3\
CMS\ Extbase\ Domain Object\ Domain Object Interface::_ get Clean Property \TYPO3\
CMS\ Extbase\ Domain Object\ Abstract Domain Object:: get Uid \TYPO3\
CMS\ Extbase\ Domain Object\ Abstract Domain Object:: set Pid \TYPO3\
CMS\ Extbase\ Domain Object\ Abstract Domain Object:: get Pid \TYPO3\
CMS\ Extbase\ Domain Object\ Abstract Domain Object::_ is New \TYPO3\
CMS\ Extbase\ Domain Object\ Abstract Domain Object::_ set Property \TYPO3\
CMS\ Extbase\ Domain Object\ Abstract Domain Object::_ get Property \TYPO3\
CMS\ Extbase\ Domain Object\ Abstract Domain Object::_ get Properties \TYPO3\
CMS\ Extbase\ Domain Object\ Abstract Domain Object::_ get Clean Property \TYPO3\
CMS\ Extbase\ Service\ Image Service:: apply Processing Instructions \TYPO3\
CMS\ Extbase\ Service\ Image Service:: get Image Uri \TYPO3\
CMS\ Extbase\ Service\ Image Service:: get Image \TYPO3\
CMS\ Extbase\ Property\ Type Converter Interface:: get Supported Source Types () \TYPO3\
CMS\ Extbase\ Property\ Type Converter Interface:: get Supported Target Type () \TYPO3\
CMS\ Extbase\ Property\ Type Converter Interface:: get Target Type For Source () \TYPO3\
CMS\ Extbase\ Property\ Type Converter Interface:: get Priority () \TYPO3\
CMS\ Extbase\ Property\ Type Converter Interface:: can Convert From () \TYPO3\
CMS\ Extbase\ Property\ Type Converter Interface:: get Source Child Properties To Be Converted () \TYPO3\
CMS\ Extbase\ Property\ Type Converter Interface:: get Type Of Child Property () \TYPO3\
CMS\ Extbase\ Property\ Type Converter Interface:: convert From () \TYPO3\
CMS\ Extbase\ Error\ Message::__ construct \TYPO3\
CMS\ Extbase\ Error\ Message:: get Message \TYPO3\
CMS\ Extbase\ Error\ Message:: get Code \TYPO3\
CMS\ Extbase\ Error\ Message:: get Arguments \TYPO3\
CMS\ Extbase\ Error\ Message:: get Title \TYPO3\
CMS\ Extbase\ Error\ Message:: render \TYPO3\
CMS\ Extbase\ Configuration\ Configuration Manager:: get Content Object \TYPO3\
CMS\ Extbase\ Configuration\ Configuration Manager:: get Configuration \TYPO3\
CMS\ Extbase\ Configuration\ Configuration Manager:: is Feature Enabled \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: reset () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: build () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: uri For () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set Absolute Uri Scheme () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set Add Query String () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set Add Query String Method () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set Argument Prefix () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set Arguments () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set Arguments To Be Excluded From Query String () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set Create Absolute Uri () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set Format () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set Link Access Restricted Pages () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set No Cache () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set Section () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set Target Page Type () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set Target Page Uid () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: set Use Cache Hash () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: get Add Query String () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: get Add Query String Method () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: get Arguments () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: get Arguments To Be Excluded From Query String () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: get Create Absolute Uri () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: get Format () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: get Link Access Restricted Pages () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: get No Cache () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: get Section () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: get Target Page Uid () \TYPO3\
CMS\ Extbase\ Mvc\ Web\ Routing\ Uri Builder:: get Use Cache Hash ()
Impact
PHP 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).
Affected Installations
- All installations that use classes that implement mentioned interfaces and their methods.
- All installations that use classes that inherit mentioned classes and overwrite their methods.
Migration
Methods need to be adjusted to be compatible with the parent class and/or interface signature.