Deprecation: #101163 - Abstract class Enumeration

See forge#101163

Description

The abstract class \TYPO3\CMS\Core\Type\Enumeration is deprecated in favor of PHP built-in backed enums.

Impact

All classes extending \TYPO3\CMS\Core\Type\Enumeration will trigger a deprecation level log entry.

Affected installations

Classes extending \TYPO3\CMS\Core\Type\Enumeration need to be converted into PHP built-in backed enums.

Migration

Class definition:

class State extends \TYPO3\CMS\Core\Type\Enumeration
{
    public const STATE_DEFAULT = 'somestate';
    public const STATE_DISABLED = 'disabled';
}

should be converted into:

enum State: string
{
    case STATE_DEFAULT = 'somestate';
    case STATE_DISABLED = 'disabled';
}

Existing method calls must be adapted.

See also Feature: #101396 - Let Extbase handle native enums.