Deprecation: #84338 - Protected methods and properties in TableController

See Issue #84388


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

A series of class properties has been set to protected. They will throw deprecation warnings if called public from outside:

  • [not scanned] $content
  • $inputStyle
  • $xmlStorage
  • $columnsOnly
  • $numNewRows
  • $colsFieldsName
  • [not scanned] $P
  • $tableParsing_quote
  • $tableParsing_delimiter

All methods not used as entry points by TYPO3\CMS\Backend\Http\RouteDispatcher will be removed or set to protected in v10 and throw deprecation warnings if used from a third party:

  • [note scanned] main()
  • tableWizard()
  • getConfigCode()
  • getTableHTML()
  • changeFunc()
  • cfgArray2CfgString()
  • cfgString2CfgArray()


Calling one of the above methods or accessing one of the above properties on an instance of TableController will throw a deprecation warning in v9 and a PHP fatal in 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 TableController. In general all extensions that set properties or call methods except mainAction() are affected.


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.