---
title: "Introduction"
manual: "TYPO3 Explained"
version: "12.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:datahandler-introduction@12.4"
source: "ApiOverview/DataHandler/Introduction/Index.rst"
rendered: "2026-10-21T15:29:37+00:00"
---

> [!WARNING]
> **Attention**
>
> TYPO3 v12 has reached end-of-life as of April 30th 2026 and
> is no longer being maintained. Use the version switcher on the top
> left of this page to select documentation for a supported version of TYPO3.
>
> Need more time before upgrading?
> You can purchase Extended Long Term Support (ELTS) for TYPO3 v12 here:
> [TYPO3 ELTS](https://typo3.com/services/extended-support-elts).

<a id="tce-introduction"></a>

# Introduction {#datahandler-introduction}

<a id="tce-database"></a>

## Database {#datahandler-database}

The DataHandler is the class that handles **all** [data](https://docs.typo3.org/permalink/t3coreapi:datahandler-data@12.4)
writing to database tables configured in TCA. In addition the class handles
[commands](https://docs.typo3.org/permalink/t3coreapi:datahandler-commands@12.4) such as copy, move, delete. It will handle
undo/history and versioning of records and everything will be logged
to the `sys_log` table. It will make sure that write permissions are
evaluated correctly for the user trying to write to the database. Generally,
any processing specific option in the `$GLOBALS['TCA']` array is handled
by DataHandler.

Using DataHandler for manipulation of the database content in the TCA-configured
tables guarantees that the data integrity of TYPO3 is
respected. This cannot be safely guaranteed, if you write to TCA-configured
database tables directly. It will also manage the relations
to files and other records.

DataHandler requires a backend login to work. This is due to the fact that
permissions are observed (of course) and thus DataHandler needs a backend user
to evaluate against. This means you cannot use DataHandler from the
frontend scope. Thus writing to tables (such as a guestbook) will have
to be done from the frontend *without* DataHandler.

> [!NOTE]
> **See also**
>
> The features of TCA are described in the [TCA Reference](https://docs.typo3.org/m/typo3/reference-tca/12.4/en-us/Index.html#start).

<a id="tce-files"></a>

## Files {#datahandler-files}

DataHandler can also handle files. The file operations are normally
performed in the **File > Filelist** module where you can manage a
directory on the server by copying, moving, deleting and editing files
and directories. The file operations are managed by two Core classes,
`\TYPO3\CMS\Core\Utility\File\BasicFileUtility` and
`\TYPO3\CMS\Core\Utility\File\ExtendedFileUtility`.
