Deprecation: #86210 - Protected info extension
See forge#86210
Description
To allow refactoring of the Web -> Info module in TYPO3 v10, the involved controller classes have been disentangled and better encapsulated:
- Class
\TYPO3\does not extendCMS\ Info\ Controller\ Info Module Controller \TYPO3\anymoreCMS\ Backend\ Module\ Base Script Class - Class
\TYPO3\does not extendCMS\ Linkvalidator\ Report\ Link Validator Report \TYPO3\anymoreCMS\ Backend\ Module\ Abstract Function Module - Class
\TYPO3\does not extendCMS\ Info\ Controller\ Page Information Controller \TYPO3\anymoreCMS\ Backend\ Module\ Abstract Function Module - Class
\TYPO3\does not extendCMS\ Info\ Controller\ Info Page Typoscript Config Controller \TYPO3\anymoreCMS\ Backend\ Module\ Abstract Function Module - Class
\TYPO3\does not extendCMS\ Info\ Controller\ Translation Status Controller \TYPO3\anymoreCMS\ Backend\ Module\ Abstract Function Module
Setting an instance of class
Info as global object
$GLOBALS
has been marked as deprecated and will be removed in TYPO3 v10.
The following class properties have been set from public to protected and will not be accessible in TYPO3 v10 anymore:
\TYPO3\CMS\ Info\ Controller\ Info Module Controller->perms_ clause \TYPO3\CMS\ Info\ Controller\ Info Module Controller->mod TSconfig \TYPO3\CMS\ Info\ Controller\ Info Module Controller->mod Menu_ set Default List \TYPO3\CMS\ Info\ Controller\ Info Module Controller->mod Menu_ dont Validate List \TYPO3\CMS\ Info\ Controller\ Info Module Controller->mod Menu_ type \TYPO3\CMS\ Info\ Controller\ Info Module Controller->ext Class Conf \TYPO3\CMS\ Info\ Controller\ Info Module Controller->ext Obj \TYPO3\CMS\ Info\ Controller\ Info Module Controller->content \TYPO3\CMS\ Info\ Controller\ Info Module Controller->p Obj \TYPO3\CMS\ Info\ Controller\ Info Module Controller->id \TYPO3\CMS\ Info\ Controller\ Info Module Controller->CMD \TYPO3\CMS\ Info\ Controller\ Info Module Controller->doc \TYPO3\CMS\ Info\ Controller\ Info Module Controller->MCONF \TYPO3\CMS\ Linkvalidator\ Report\ Link Validator Report->p Obj \TYPO3\CMS\ Linkvalidator\ Report\ Link Validator Report->doc \TYPO3\CMS\ Linkvalidator\ Report\ Link Validator Report->function_ key \TYPO3\CMS\ Linkvalidator\ Report\ Link Validator Report->ext Class Conf \TYPO3\CMS\ Linkvalidator\ Report\ Link Validator Report->local Lang File \TYPO3\CMS\ Linkvalidator\ Report\ Link Validator Report->ext Obj \TYPO3\CMS\ Info\ Controller\ Page Information Controller->p Obj \TYPO3\CMS\ Info\ Controller\ Page Information Controller->function_ key \TYPO3\CMS\ Info\ Controller\ Page Information Controller->ext Class Conf \TYPO3\CMS\ Info\ Controller\ Page Information Controller->local Lang File \TYPO3\CMS\ Info\ Controller\ Page Information Controller->ext Obj \TYPO3\CMS\ Info\ Controller\ Info Page Typoscript Config Controller->p Obj \TYPO3\CMS\ Info\ Controller\ Info Page Typoscript Config Controller->function_ key \TYPO3\CMS\ Info\ Controller\ Info Page Typoscript Config Controller->ext Class Conf \TYPO3\CMS\ Info\ Controller\ Info Page Typoscript Config Controller->local Lang File \TYPO3\CMS\ Info\ Controller\ Info Page Typoscript Config Controller->ext Obj \TYPO3\CMS\ Info\ Controller\ Translation Status Controller->p Obj \TYPO3\CMS\ Info\ Controller\ Translation Status Controller->function_ key \TYPO3\CMS\ Info\ Controller\ Translation Status Controller->ext Class Conf \TYPO3\CMS\ Info\ Controller\ Translation Status Controller->local Lang File \TYPO3\CMS\ Info\ Controller\ Translation Status Controller->ext Obj
The following class methods have been set from public to protected and will not be accessible in TYPO3 v10 anymore:
TYPO3CMSInfoController Info Module Controller->main () TYPO3CMSInfoController Info Module Controller->init () TYPO3CMSInfoController Info Module Controller->get Module Template () TYPO3CMSInfoController Info Module Controller->menu Config () TYPO3CMSInfoController Info Module Controller->handle External Function Value () TYPO3CMSInfoController Info Module Controller->merge External Items () TYPO3CMSInfoController Info Module Controller->get External Item Config () TYPO3CMSInfoController Info Module Controller->ext Obj Content () TYPO3CMSInfoController Info Module Controller->get Ext Obj Content () TYPO3CMSInfoController Info Module Controller->check Ext Obj () TYPO3CMSInfoController Info Module Controller->ext Obj Header () TYPO3CMSInfoController Info Module Controller->check Sub Ext Obj () \TYPO3\CMS\ Linkvalidator\ Report\ Link Validator Report->ext Obj Content () \TYPO3\CMS\ Info\ Controller\ Page Information Controller->mod Menu () \TYPO3\CMS\ Info\ Controller\ Page Information Controller->ext Obj Content () \TYPO3\CMS\ Info\ Controller\ Info Page Typoscript Config Controller->mod Menu () \TYPO3\CMS\ Info\ Controller\ Info Page Typoscript Config Controller->ext Obj Content () \TYPO3\CMS\ Info\ Controller\ Translation Status Controller->get Content Element Count () \TYPO3\CMS\ Info\ Controller\ Translation Status Controller->get Lang Status () \TYPO3\CMS\ Info\ Controller\ Translation Status Controller->render L10n Table () \TYPO3\CMS\ Info\ Controller\ Translation Status Controller->mod Menu () \TYPO3\CMS\ Info\ Controller\ Translation Status Controller->ext Obj Content ()
Impact
If an extension accesses one of the above protected properties or calls one of the above protected methods,
a
E_ error will be triggered.
Affected Installations
Various extensions extend the Web -> Info module. Those typically call
Extension in ext_ or
ext_. Those instances may need adaptions.
Migration
If extending the info module with an own extension, the extension should be adapted to not call
the above methods or properties any longer. Most usages can be easily adapted, for instance
to retrieve the current page id, use
General instead of
$this->p.