TYPO3 v10 has reached end-of-life as of April 30th 2023 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 v10 here: TYPO3 ELTS.
TYPO3 supports the singleton patterns for classes. Singletons are
instantiated only once per request regardless of the number of
GeneralUtility::makeInstance(). To use a singleton
pattern, a class must implement the
class MySingletonClass implements \TYPO3\CMS\Core\SingletonInterface
This interface has no specific methods to implement, but if implemented only one instance of the class will be created through given request.
Be aware that singletons are often considered as "anti pattern" by code architects and should be used with care - use them only if there are very good reasons to do so.