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

See forge#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 requires 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).