Deprecation: #84307 - Protected methods and properties in NewContentElementController

See Issue #84307


This file is about third party usage of TYPO3\CMS\Backend\Controller\ContentElement\NewContentElementController .

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

  • [not scanned] id
  • sys_language
  • R_URI
  • colPos
  • uid_pid
  • [not scanned] modTSconfig
  • [not scanned] doc
  • [not scanned] content
  • access
  • [not scanned] config

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:

  • [not scanned] init()
  • [not scanned] main()


Calling one of the above methods or accessing one of the above properties on an instance of NewContentElementController 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 NewContentElementController .

In general all extensions that set properties or call methods except mainAction() or wizardAction() 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.