Reto traits

Código
Experto
PHP
Curso de PHP
30 min
200 XP
Actualizado: 09/05/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Descripción

Crea un registrador de eventos con traits en PHP

Estás desarrollando un sistema de seguimiento de eventos para una aplicación distribuida. Deseas implementar un registrador de eventos que pueda ser reutilizado por diferentes componentes de tu aplicación. La tarea requiere el uso extensivo de traits para maximizar la reutilización del código y gestionar mejor los eventos por tipo.

Desarrolla un sistema en PHP que utilice traits para loguear diferentes tipos de eventos en una aplicación. Deberás definir múltiples traits y utilizarlos en una clase para gestionar eventos a nivel detallado, asegurando que cada tipo de evento se registre de manera personalizada.

Definir traits para loguear eventos específicos:

Crea un trait para loguear eventos 'info'.

Crea un trait para loguear eventos 'warning'.

Crea un trait para loguear eventos 'error'.

Uso de traits en una clase:

Diseña una clase GestorEventos que utilice los traits definidos.

La clase debe poder invocar a los métodos de logueo de cada trait.

Resolución de conflictos:

Cada trait define un método log() que debe formatear los mensajes con un prefijo correspondiente al tipo de evento.

Implementa la resolución de conflictos en la clase GestorEventos para manejar los métodos log().

Alias y precedencia:

Usa alias para resolver conflictos entre los métodos log() de los traits.

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

Asegúrate de que el usuario pueda invocar los métodos para cada tipo de logueo con nombres diferenciados en la clase.

Prueba de implementación:

Debe ser posible crear instancias de GestorEventos y utilizarlas para loguear distintos tipos de eventos, asegurando que cada mensaje sea mostrado junto con su tipo.

Ejemplo de uso:

<?php
$gestor = new GestorEventos();
$gestor->logInfo('Inicio del proceso.');
$gestor->logWarning('Posible uso elevado de recursos.');
$gestor->logError('Error crítico en el sistema.');

El resultado esperado debe mostrar mensajes con el tipo de logueo correspondiente, por ejemplo:

[INFO]: Inicio del proceso.
[WARNING]: Posible uso elevado de recursos.
[ERROR]: Error crítico en el sistema.

Notas

Asegúrate de manejar correctamente la visibilidad y acceso de los métodos en los traits y la clase GestorEventos.

Considera la gestión adecuada de las entradas de usuario para asegurarte de que el sistema no esté expuesto a entradas maliciosas.

Solución al ejercicio de programación en PHP

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en PHP para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en PHP

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en PHP

⭐⭐⭐⭐⭐
4.9/5 valoración