Important: #91095 - Various methods and properties of Backend-related Core APIs now internal
See forge#91095
Description
Some cornerstones of TYPO3 Core have been kept and migrated since before TYPO3 v4.0. This was when PHP 5 and class visibility was not even available.
Most classes contain various methods which have been marked as "public", making it public API for TYPO3, even though their usages should only be available for TYPO3 Core.
All methods are now marked as "@internal", as official Core API should be used instead.
Data class properties and methods: Except for the public methods
that are still available, it is highly recommended to use DataHandler as defined in the official documentation.
The following properties and methods are now marked as internal:
DataHandler->check Similar DataHandler->bypass Workspace Restrictions DataHandler->copy Which Tables DataHandler->default Values DataHandler->override Values DataHandler->data_ disable Fields DataHandler->call Back Obj DataHandler->auto Version Id Map DataHandler->subst NEWwith IDs_ table DataHandler->new Related IDs DataHandler->copy Mapping Array_ merged DataHandler->error Log DataHandler->pagetree Refresh Fields From Pages DataHandler->pagetree Needs Refresh DataHandler->userid DataHandler->username DataHandler->admin DataHandler->sort Intervals DataHandler->db Analysis Store DataHandler->register DBList DataHandler->register DBPids DataHandler->copy Mapping Array DataHandler->remap Stack DataHandler->remap Stack Records DataHandler->update Ref Index Stack DataHandler->call From Imp Exp DataHandler->check Value_ current Record DataHandler->set Control () DataHandler->set Mirror () DataHandler->set Defaults From User TS () DataHandler->hook_ process Datamap_ after Database Operations () DataHandler->placeholder Shadowing () DataHandler->get Placeholder Title For Table Label () DataHandler->fill In Field Array () DataHandler->check Value () DataHandler->check Value_ SW () DataHandler->check Value_ flex Array2Xml () DataHandler->check Value_ inline () DataHandler->check Value For Inline () DataHandler->check Value_ check Max () DataHandler->get Unique () DataHandler->get Records With Same Value () DataHandler->check Value_ text_ Eval () DataHandler->check Value_ input_ Eval () DataHandler->check Value_ group_ select_ process DBdata () DataHandler->check Value_ group_ select_ explode Select Group Value () DataHandler->check Value_ flex_ proc In Data () DataHandler->check Value_ flex_ proc In Data_ trav DS () DataHandler->copy Record () DataHandler->copy Pages () DataHandler->copy Specific Page () DataHandler->copy Record_ raw () DataHandler->insert New Copy Version () DataHandler->copy Record_ flex Form Call Back () DataHandler->copy L10n Overlay Records () DataHandler->move Record () DataHandler->move Record_ raw () DataHandler->move Record_ proc Fields () DataHandler->move Record_ proc Based On Field Type () DataHandler->move L10n Overlay Records () DataHandler->localize () DataHandler->delete Action () DataHandler->delete El () DataHandler->delete Versions For Record () DataHandler->undelete Record () DataHandler->delete Record () DataHandler->delete Pages () DataHandler->can Delete Page () DataHandler->cannot Delete Record () DataHandler->is Record Undeletable () DataHandler->delete Record_ proc Fields () DataHandler->delete Record_ proc Based On Field Type () DataHandler->delete L10n Overlay Records () DataHandler->versionize Record () DataHandler->version_ remap MMFor Version Swap () DataHandler->version_ remap MMFor Version Swap_ flex Form Call Back () DataHandler->version_ remap MMFor Version Swap_ exec Swap () DataHandler->remap Listed DBRecords () DataHandler->remap Listed DBRecords_ flex Form Call Back () DataHandler->remap Listed DBRecords_ proc DBRefs () DataHandler->remap Listed DBRecords_ proc Inline () DataHandler->process Remap Stack () DataHandler->add Remap Action () DataHandler->add Remap Stack Ref Index () DataHandler->get Versionized Incoming Field Array () DataHandler->check Modify Access List () DataHandler->is Record In Web Mount () DataHandler->is In Web Mount () DataHandler->check Record Update Access () DataHandler->check Record Insert Access () DataHandler->is Table Allowed For This Page () DataHandler->does Record Exist () DataHandler->does Branch Exist () DataHandler->table Read Only () DataHandler->table Admin Only () DataHandler->dest Not Inside Self () DataHandler->get Exclude List Array () DataHandler->does Page Have Unallowed Tables () DataHandler->page Info () DataHandler->record Info () DataHandler->get Record Properties () DataHandler->get Record Properties From Row () DataHandler->event Pid () DataHandler->update DB () DataHandler->insert DB () DataHandler->check Stored Record () DataHandler->set History () DataHandler->update Ref Index () DataHandler->get Sort Number () DataHandler->new Field Array () DataHandler->add Default Permitted Language If Not Set () DataHandler->override Field Array () DataHandler->compare Field Array With Current And Unset () DataHandler->conv Num Entity To Byte Value () DataHandler->delete Clause () DataHandler->get Table Entries () DataHandler->get PID () DataHandler->db Analysis Store Exec () DataHandler->int_ page Tree Info () DataHandler->compile Admin Tables () DataHandler->fix Unique In Pid () DataHandler->fix Copy After Dupl Fields () DataHandler->is Reference Field () DataHandler->get Inline Field Type () DataHandler->get Copy Header () DataHandler->prepend Label () DataHandler->resolve Pid () DataHandler->clear Prefix From Value () DataHandler->is Record Copied () DataHandler->log () DataHandler->newlog () DataHandler->print Log Error Messages () DataHandler->insert Update DB_ preprocess Based On Field Type () DataHandler->has Deleted Record () DataHandler->get Auto Version Id () DataHandler->get History Records ()
The reason for this long list is this: If the DataHandler API is
not called via
start and the
process_* methods, but rather
the methods would be called directly, certain hooks would be disabled completely, resulting in a huge data inconsistency.
At this point, it is highly recommended to use the official API
of
Data as written in the main documentation.
Various
Backend class methods are called statically, but cannot
guarantee any Context. Short-hand functions for TCA or Database
Queries are now better suited by using the appropriate Database
Restrictions.
BackendUtility:: purge Computed Properties From Record () BackendUtility:: purge Computed Property Names () BackendUtility:: split Table_ Uid () BackendUtility:: BEenable Fields () BackendUtility:: open Page Tree () BackendUtility:: get User Names () BackendUtility:: get Group Names () BackendUtility:: blind User Names () BackendUtility:: blind Group Names () BackendUtility:: get Common Select Fields () BackendUtility:: help Text Array () BackendUtility:: help Text () BackendUtility:: wrap In Help () BackendUtility:: soft Ref Parser Obj () BackendUtility:: explode Soft Ref Parser List () BackendUtility:: select Versions Of Record () BackendUtility:: fix Versioning Pid () BackendUtility:: move Plh OL () BackendUtility:: get Live Version Id Of Record () BackendUtility:: versioning Placeholder Clause () BackendUtility:: get Workspace Where Clause () BackendUtility:: ws Map Id () BackendUtility:: get Move Placeholder () BackendUtility:: get Backend Script () BackendUtility:: get Workspace Where Clause ()
Backend a.k.a.
$GLOBALS contains a lot of internal calls and properties which are only
used for within TYPO3 Core or to keep state. This should not
be exposed in the future anymore, especially when a more flexible
permission system might get introduced. The affected properties
and methods are:
BackendUser Authentication->include Group Array BackendUser Authentication->error Msg BackendUser Authentication->session Timeout BackendUser Authentication->first Main Group BackendUser Authentication->uc_ default BackendUser Authentication->is Member Of Group () BackendUser Authentication->get Page Perms Clause () BackendUser Authentication->is RTE () BackendUser Authentication->record Edit Access Internals () BackendUser Authentication->workspace Cannot Edit Record () BackendUser Authentication->workspace Allow Live Records In PID () BackendUser Authentication->workspace Allows Live Editing In Table () BackendUser Authentication->workspace Create New Record () BackendUser Authentication->workspace Can Create New Record () BackendUser Authentication->workspace Allow Auto Creation () BackendUser Authentication->workspace Check Stage For Current () BackendUser Authentication->workspace Init () BackendUser Authentication->check Workspace () BackendUser Authentication->check Workspace Current () BackendUser Authentication->set Workspace () BackendUser Authentication->set Temporary Workspace () BackendUser Authentication->set Default Workspace () BackendUser Authentication->get Default Workspace () BackendUser Authentication->check Lock To IP ()