Deprecation: #84285 - Protected methods and properties in MoveElementController

See forge#84285

Description

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.

Impact

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.

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.