Deprecation: #85196 - Protect SetupModuleController

See forge#85196

Description

This file is about third party usage (consumer that call the class as well as signals or hooks depending on it) of TYPO3\CMS\Setup\Controller\SetupModuleController.

A series of class properties changed visibility to protected. They will trigger PHP E_USER_DEPRECATED errors if called from outside:

  • $OLD_BE_USER

  • $MOD_MENU

  • $MOD_SETTINGS

  • [not scanned] $content

  • $overrideConf

  • $languageUpdate

These methods have been marked as deprecated and will be removed with TYPO3 v10:

  • getFormProtection()

  • simulateUser()

Impact

Calling one of the methods mentioned above or accessing one of the properties on an instance of SetupModuleController will trigger a PHP E_USER_DEPRECATED error in TYPO3 v9 and a PHP fatal error in TYPO3 v10.

Affected Installations

The extension scanner will find most usages, but may also find some false positives. The most common property and method names like $content are not registered and will not be found if an extension uses that on an instance of SetupModuleController.

Migration

In general, extensions should not instantiate and re-use controllers of the core. Existing usages should be rewritten to be free of calls like these.