Deprecation: #86225 - Classes BaseScriptClass and AbstractFunctionModule¶
See forge#86225
Description¶
The two classes TYPO3\CMS\Backend\Module\BaseScriptClass
, also known as
t3lib_SCbase
and TYPO3\CMS\Backend\Module\AbstractFunctionModule
,
also known as t3lib_extobjbase
have been marked as deprecated and will be removed
in TYPO3 v10.
Impact¶
Using one of the classes will trigger a E_USER_DEPRECATED
error.
Affected Installations¶
The BaseScriptClass
has been commonly extended by extensions that add own
backend modules and did not rely on extbase for that. There is nothing wrong
with not using extbase, but most of the methods from BaseScriptClass
were unused by own extensions and hard to understand, too.
Class AbstractFunctionModule
has been extended by some extensions that
add own sub modules to the Page -> Info or the Page -> Template view.
The extension scanner will find possible usages.
Migration¶
A migration is often relatively simple: Extensions that extend BaseScriptClass
should verify which methods and properties are actually used from the parent class. The
most simple solution is to just copy those over to the own class and remove the
inheritance. It is good practice to at least change their visibility from public
to protected
at the same time if possible.
Extensions that extend AbstractFunctionModule
should do the same. The main info
and tstemplate
controllers typically only call the methods init()
and main()
of those classes as entry points, those need to be kept public.