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:
TYPO3CMSInfo
Controller Info Module Controller->main () TYPO3CMSInfo
Controller Info Module Controller->init () TYPO3CMSInfo
Controller Info Module Controller->get Module Template () TYPO3CMSInfo
Controller Info Module Controller->menu Config () TYPO3CMSInfo
Controller Info Module Controller->handle External Function Value () TYPO3CMSInfo
Controller Info Module Controller->merge External Items () TYPO3CMSInfo
Controller Info Module Controller->get External Item Config () TYPO3CMSInfo
Controller Info Module Controller->ext Obj Content () TYPO3CMSInfo
Controller Info Module Controller->get Ext Obj Content () TYPO3CMSInfo
Controller Info Module Controller->check Ext Obj () TYPO3CMSInfo
Controller Info Module Controller->ext Obj Header () TYPO3CMSInfo
Controller 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
.