TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:09 +02:00
commit af8cc155b5
6818 changed files with 642608 additions and 0 deletions
@@ -0,0 +1,57 @@
.. include:: /Includes.rst.txt
.. _feature-101396-1689843367:
==================================================
Feature: #101396 - Let Extbase handle native enums
==================================================
See :issue:`101396`
Description
===========
With PHP 8.1, native support for `enums`_ has been introduced. This is quite handy
if a database field has a specific set of values which can be represented by a
PHP enum.
.. _enums: https://www.php.net/manual/en/language.types.enumerations.php
It is now possible to use backed enums in entities like this:
.. code-block:: php
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\Domain\Model\Enum;
enum Level: string
{
case INFO = 'info';
case ERROR = 'error';
}
.. code-block:: php
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\Domain\Model;
use TYPO3\CMS\Extbase\DomainObject\AbstractEntity;
class LogEntry extends AbstractEntity
{
protected Enum\Level $level;
}
Impact
======
To implement enums, it is no longer necessary to extend the now deprecated TYPO3
Core class :php:`\TYPO3\CMS\Core\Type\Enumeration`.
.. index:: PHP-API, ext:extbase