---
title: "Deprecation: #94377 - Extbase ObjectManager->getEmptyObject"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-94377"
source: "Changelog/11.3/Deprecation-94377-ExtbaseObjectManager-getEmptyObject.rst"
modified: "2026-09-15T10:46:36+00:00"
---

# Deprecation: #94377 - Extbase ObjectManager->getEmptyObject

See [forge#94377](https://forge.typo3.org/issues/94377)

## Description

Extbase has the odd behavior that
`\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface` objects -
typically classes in `Classes/Domain/Model` of Extbase enabled
extensions - don't call `__construct` when the persistence layer
"thaws" a model from database - typically when an Extbase
`Domain/Repository` uses a `->findBy*` method.

As a side-effect of switching away from Extbase `ObjectManager` towards
symfony based dependency injection, this behavior will change in TYPO3 v12:
Method `__construct()` will be called in v12 when the `DataMapper`
creates model instances from database rows.

## Impact

There is no impact in TYPO3 v11 and no deprecation log entry is raised.
However, extension developers *should* prepare toward this change in v11
to avoid any impact of a breaking change in v12.

## Affected Installations

Extbase extensions having domain models that implement `__construct()`
are affected. It is rather unlikely this has any impact on the behavior
of the extension, though.

Additionally, calls to API method
`TYPO3\CMS\Extbase\Object\ObjectManager->getEmptyObject()` should be
avoided since it will vanish in v12. The vast majority of extensions will
not do this, though. The extension scanner will find candidates.

## Migration

No migration possible. Simply expect that `__construct()` of a domain
model will be called in v12 when a domain repository `findBy` method
directly or indirectly reconstitutes a model object from a database row.
