
Manejo simplificado de Enums con valores predeterminados en Laravel
- Publicado el 20 junio, 2025
- Palabras: 96
Laravel simplifica la recuperación de enums de las solicitudes con un método enum() mejorado que admite valores predeterminados, lo que hace que su código sea más limpio y expresivo.

Al trabajar con enums en los datos de solicitud, a menudo es necesario proporcionar valores de respaldo cuando el parámetro del enum falta o no es válido. El método enum() mejorado ahora acepta un tercer parámetro para los valores predeterminados, lo que elimina la necesidad de lógica adicional de fusión de valores nulos. Veamos cómo funciona:
// Antes
$chartType = request()->enum('chart_type', ChartTypeEnum::class) ?: ChartTypeEnum::Bar;
// Ahora
$chartType = request()->enum('chart_type', ChartTypeEnum::class, ChartTypeEnum::Bar);
#Ejemplo práctico
A continuación se explica cómo puedes utilizar esto en un panel de control:
class DashboardController extends Controller
{
public function analytics(Request $request)
{
$params = [
'chart_type' => $request->enum('chart_type', ChartType::class, ChartType::Line),
'period' => $request->enum('period', ReportPeriod::class, ReportPeriod::Monthly),
'status' => $request->enum('status', OrderStatus::class, OrderStatus::All),
'sort_by' => $request->enum('sort_by', SortOption::class, SortOption::CreatedAt)
];
return $this->generateReport($params);
}
public function userPreferences(Request $request)
{
$preferences = [
'theme' => $request->enum('theme', Theme::class, Theme::Light),
'language' => $request->enum('language', Language::class, Language::English),
'timezone' => $request->enum('timezone', Timezone::class, Timezone::UTC),
'notification_frequency' => $request->enum(
'notification_frequency',
NotificationFrequency::class,
NotificationFrequency::Daily
)
];
$request->user()->updatePreferences($preferences);
}
}
Esta mejora hace que el manejo de enums sea más conciso y legible, especialmente cuando se trabaja con múltiples parámetros de enums que necesitan valores predeterminados razonables.

Desarrollador backend especializado en PHP y Laravel, con sede en Santander, Cantabria. Más de 15 años de experiencia en el desarrollo de aplicaciones web a medida y en la modernización de código heredado.
Fuente: Harris Raftopoulos
Artículos relacionados
Inicia la conversación
Hazte miembro de Antonio Jenaro para comenzar a comentar.
Regístrate ahora¿Ya estás registrado? Inicia sesión