En PHP, si tienes un enum y deseas obtener el case asociado a un valor específico, puedes usar el método tryFrom o from, disponibles en todos los enumerados backed (respaldados por valores) en PHP. Este método buscará el case con el valor correspondiente y lo devolverá, si existe.
<?php
enum Estado: string {
case ACTIVO = 'activo';
case INACTIVO = 'inactivo';
case PENDIENTE = 'pendiente';
}
// Obtener el case mediante un valor
$valor = 'activo';
$estado = Estado::tryFrom($valor);
if ($estado !== null) {
echo "El case asociado es: " . $estado->name;
} else {
echo "No se encontró ningún case con ese valor.";
}
1. Enum Estado
: Este enum define tres cases respaldados por valores de tipo string
.
2. Estado::tryFrom($valor)
: Este método intenta encontrar el *case* que corresponde al valor proporcionado. Si lo encuentra, devuelve el *case*; de lo contrario, devuelve null
.
3. Comprobación de null
: Se verifica si el resultado no es null
para confirmar que existe un *case* con el valor especificado.
PHP también incluye el método from
, que es similar a tryFrom
pero genera un error en caso de que el valor no exista.
<?php
$estado = Estado::from('activo'); // Retorna el case ACTIVO o lanza un error si no existe.
Para más información, consulta la documentación oficial de Enums en PHP.
Jorge García
Fullstack developer