Feature: #92884 - Applications implement PSR-15 RequestHandlerInterface

See forge#92884


The TYPO3 core has three application classes: frontend, backend and install tool. Those are the main entry points to retrieve a PSR-7 response from a PSR-7 request. These application classes now implement the PSR-15 RequestHandlerInterface.


Implementing the interface increases interoperability with third party applications and allows feeding a PSR-7 request to one of the three applications and retrieve a PSR-7 response.

Within TYPO3, a first usage is the testing framework: A functional backend test can call the frontend application to verify if content is rendered as expected. At the moment, the TYPO3 internal state is still a bit tricky, though. There are various places that for instance park state in static class properties which can not be reset easily. Those areas are "dirty" after a request has been handled. Additionally, TYPO3 still alters various $GLOBALS while handling a request. The testing framework works around that at the moment.

While the situation will improve over time, third party applications should handle this feature with care for the time being and may need to take care of additional state clearing steps.