Deprecation: #94272 - Application->run callback

See Issue #94272

Description

Since the introduction of the \TYPO3\CMS\Core\Core\ApplicationInterface in Issue #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 Issue #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.