39 lines
1.5 KiB
ReStructuredText
39 lines
1.5 KiB
ReStructuredText
.. include:: /Includes.rst.txt
|
|
|
|
.. _feature-92884:
|
|
|
|
=======================================================================
|
|
Feature: #92884 - Applications implement PSR-15 RequestHandlerInterface
|
|
=======================================================================
|
|
|
|
See :issue:`92884`
|
|
|
|
Description
|
|
===========
|
|
|
|
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 :php:`RequestHandlerInterface`.
|
|
|
|
|
|
Impact
|
|
======
|
|
|
|
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 :php:`$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.
|
|
|
|
.. index:: PHP-API, ext:core
|