As of PHP 8.1, while `UnitEnum` & `BackedEnum` cannot be implemented by user-defined classes, it seems they can be extended by user-defined interfaces and eventually be implemented by enums.
<?php
interface TestEnumInterface extends \BackedEnum
{
public function foo(): string;
}
enum TestEnum: string implements TestEnumInterface
{
case CASE_1 = 'case 1';
case CASE_2 = 'case 2';
public function foo(): string
{
return 'bar';
}
}
?>
PHP.mk документација
BackedEnum
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
class.backedenum.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
class.backedenum.php
BackedEnum
Референца за `class.backedenum.php` со подобрена типографија и навигација.
интерфејсот BackedEnum
(PHP 8 >= 8.1.0)
Вовед
На BackedEnum интерфејсот автоматски се применува на поддржаните броеви од страна на моторот. Тој не може да биде имплементиран од класи дефинирани од корисникот. Броевите не можат да ги преоптоварат неговите методи, бидејќи стандардните имплементации се обезбедени од моторот. Достапен е само за проверки на типови.
Содржина
- BackedEnum::from — Мапира скалар на инстанца на enum
- BackedEnum::tryFrom — Мапира скалар на инстанца на enum или null
Белешки од корисници 1 белешка
whatuwant ¶
пред 4 години