Deprecation: #84285 - Protected methods and properties in MoveElementController

See Issue #84285


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

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

  • sys_language
  • page_id
  • [not scanned] table
  • R_URI
  • input_moveUid
  • moveUid
  • makeCopy
  • perms_clause
  • [not scanned] content

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()

Additionally $GLOBALS['SOBE'] is not set by the MoveElementController constructor anymore.


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

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.