Enums respaldados en PHP
Un enum cuyos casos llevan valores de cadena — y comportamiento propio.
<?php
enum Status: string {
case Draft = 'draft';
case Published = 'published';
case Archived = 'archived';
public function isLive(): bool {
return $this === self::Published;
}
}
$post = Status::from('published');
echo $post->name, " -> ", $post->value, "\n";
var_dump($post->isLive());
// tryFrom returns null for unknown values instead of throwing
echo Status::tryFrom('deleted')?->value ?? 'unknown', "\n";
Cómo funciona
enum Status: stringliga cada caso a un valor amigable con la base de datos.- Los métodos del enum dejan que un caso responda preguntas como
isLive. fromlanza ante entrada desconocida;tryFromdevuelve null en su lugar.
Palabras clave y builtins usados aquí
caseechofunctionpublicreturnvar_dump
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 412
- Tokens
- 87
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 65 segundos.
Paso 3 de 3 en Null y errores; paso 21 de 27 en Fundamentos del lenguaje.