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

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