---
title: "Deprecation: #78733 - CallUserFunction \"&\" token for singleton objects"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-78733"
source: "Changelog/8.5/Deprecation-78733-CallUserFunctionTokenForSingletonObjects.rst"
typo3-version: "8.5"
typo3-major: 8
type: "deprecation"
issue: 78733
forge: "https://forge.typo3.org/issues/78733"
tags: ["PHP-API"]
rendered: "2026-09-17T12:41:04+00:00"
---

# Deprecation: #78733 - CallUserFunction "&" token for singleton objects {#deprecation-78733-calluserfunction-token-for-singleton-objects}

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

## Description {#description}

The method `GeneralUtility::callUserFunction()` allows to send the callee (the user-defined function)
to be prepended with a "&" before the method name to add the instantiated object to a "singleton" pool
during a single request. This functionality has been marked as deprecated as it can easily be solved by
implementing a class as singleton.

This way, the object is always a singleton, even when it is called via `GeneralUtility::makeInstance()`.

## Impact {#impact}

Calling `callUserFunction()` with a "&" symbol will trigger a deprecation log entry.

## Affected Installations {#affected-installations}

Any installation with a hook or user function which is registered with an ampersand "&" symbol.

## Migration {#migration}

The class of the user function / method can implement the `SingletonInterface` to achieve the same behaviour.
