Deprecation: #84341 - Protected methods and properties in NewRecordController

See Issue #84341

Description

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

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

  • [not scanned] pageinfo
  • pidInfo
  • newPagesInto
  • newContentInto
  • newPagesAfter
  • web_list_modTSconfig
  • allowedNewTables
  • deniedNewTables
  • web_list_modTSconfig_pid
  • allowedNewTables_pid
  • deniedNewTables_pid
  • code
  • R_URI
  • [not scanned] id
  • returnUrl
  • pagesOnly
  • [not scanned] perms_clause
  • [not scanned] content
  • tRows

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] main()
  • pagesOnly()
  • regularNew()
  • sortNewRecordsByConfig()
  • linkWrap()

Impact

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

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.