Deprecation: #94272 - Application->run callback¶
See forge#94272
Description¶
Since the introduction of the \TYPO3\CMS\Core\Core\ApplicationInterface
in forge#67808 (TYPO3 v7), which serves as a wrapper for setting up the bootstrap and
calling the request, it was possible to run either the console, the frontend
or the backend by calling run()
on the corresponding Application class.
The run()
method also featured the possibility to provide a callback
as first argument. This was mainly introduced, since no proper solution for
sub requests existed at that time. Since forge#83725, the callback is not
longer necessary as such functionality can be handled by a PSR-15
middleware.
Therefore, the $execute
argument of ApplicationInterface->run()
has been deprecated and will be removed in v12.
Impact¶
Calling \TYPO3\CMS\Core\Core\ApplicationInterface->run()
with the
first argument $execute
set, triggers a PHP E_USER_DEPRECATED
error.
Affected Installations¶
All installations which manually call
\TYPO3\CMS\Core\Core\ApplicationInterface->run()
,
while providing a callback as first argument. The extension scanner
will find those usages as weak match.
Migration¶
Instances with extensions calling
\TYPO3\CMS\Core\Core\ApplicationInterface->run()
with a callback
as first argument need to be adapted. If possible use PSR-15 middlewares
instead.
Console commands do not feature PSR-15 middlewares. Therefore, the callback has to be replaced by separate chained post-processing commands.