Deprecation: #84338 - Protected methods and properties in TableController

See Issue #84388

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\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
  • $TABLECFG
  • $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()

Impact

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.

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.