Volver a la página principal
miércoles 30 octubre 2024
9

Cómo obtener el case de un enum en PHP mediante el valor

Obtener el case de un enum por su valor

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.";
}

Explicación

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.

Ejemplos adicionales de uso

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.

Referencias

Para más información, consulta la documentación oficial de Enums en PHP.

Etiquetas:
php
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer