---
title: "Deprecation: #95326 - Various \"getInstance()\" static methods on singleton interfaces"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-95326"
source: "Changelog/11.5/Deprecation-95326-VariousGetInstanceStaticMethodsOnSingletonInterfaces.rst"
typo3-version: "11.5"
typo3-major: 11
type: "deprecation"
issue: 95326
forge: "https://forge.typo3.org/issues/95326"
tags: ["PHP-API", "PartiallyScanned", "ext:core"]
rendered: "2026-09-20T18:31:11+00:00"
---

# Deprecation: #95326 - Various "getInstance()" static methods on singleton interfaces {#deprecation-95326}

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

## Description {#description}

A few classes within TYPO3 Core have a static method `getInstance()`
which acts as a wrapper for the constructor which originally was meant as
a performance improvement as pseudo-singleton concept in TYPO3 v6.

With dependency injection, these classes can be injected or instantiated
directly without any performance penalties.

Therefore the following methods have been marked as deprecated:

-   `TYPO3\CMS\Core\Resource\Index\ExtractorRegistry::getInstance()`
-   `TYPO3\CMS\Core\Resource\Index\FileIndexRepository::getInstance()`
-   `TYPO3\CMS\Core\Resource\Index\MetaDataRepository::getInstance()`
-   `TYPO3\CMS\Core\Resource\OnlineMedia\Helpers\OnlineMediaHelperRegistry::getInstance()`
-   `TYPO3\CMS\Core\Resource\Rendering\RendererRegistry::getInstance()`
-   `TYPO3\CMS\Core\Resource\TextExtraction\TextExtractorRegistry::getInstance()`
-   `TYPO3\CMS\Form\Service\TranslationService::getInstance()`
-   `TYPO3\CMS\T3editor\Registry\AddonRegistry::getInstance()`
-   `TYPO3\CMS\T3editor\Registry\ModeRegistry::getInstance()`

## Impact {#impact}

Calling the methods directly in third-party PHP code will trigger a PHP
`E_USER_DEPRECATED` error.

## Affected Installations {#affected-installations}

Any TYPO3 installation with custom PHP code calling the methods are affected.

## Migration {#migration}

Check **Admin Tools > Upgrade > Scan Extension Files** if your
installation is affected and replace calls with constructor injections via
dependency injection if possible, or use
`GeneralUtility::makeInstance()` instead.
