Breaking: #92513 - Method signature change of TYPO3\CMS\Extbase\Mvc\Controller\ControllerInterface::processRequest

See Issue #92513

Description

The signature of method TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ControllerInterface::processRequest changed in the regard that no longer $request and $response are passed into it. Instead, only a $request argument is needed. Additionally, that method now needs you to return a response.

Impact

This change affects all classes that either implement said interface directly (presumably none) and those classes (controllers) that override method processRequest() of class TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController. Those, that override said method will experience the following fatal error: Declaration of ... must be compatible with TYPO3\CMS\Extbase\Mvc\Controller\ControllerInterface::processRequest(TYPO3\CMS\Extbase\Mvc\RequestInterface $request): TYPO3\CMS\Extbase\Mvc\ResponseInterface.

Affected Installations

All installations that override method processRequest() of class TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController.

Migration

There are two steps to migrate:

  • Remove the now superfluous $response argument
  • Return a response object.

The latter is usually achieved by calling return parent::processRequest($request) instead of just parent::processRequest($request).