PHP 8.4.0 RC4 available for testing

A interface BackedEnum

(PHP 8 >= 8.1.0)

Introdução

A interface BackedEnum é aplicada automaticamente pelo motor do PHP a enumerações lastreadas. Não pode ser implementada por classes definidas pelo usuário. Enumerações não podem substituir seu métodos, já que as implementações padrões são fornecidas pelo motor. Está disponível apenas para verificações de tipo.

Resumo da Interface

interface BackedEnum extends UnitEnum {
/* Métodos */
public static from(int|string $value): static
public static tryFrom(int|string $value): ?static
/* Métodos herdados */
public static UnitEnum::cases(): array
}

Índice

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
14
whatuwant
2 years ago
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';
}
}

?>
To Top