Avatar ·

Cómo sobrescribir un método de trait en PHP y llamarlo desde el método sobrescrito

¡Hola a todos! Estoy aprendiendo PHP y me encontré con un problema con los traits. La situación es la siguiente: tengo un trait `Logger` que contiene el método `log($message)`. Este método simplemente imprime un mensaje en la consola. Quiero usar este trait en la clase `UserService`, pero necesito cambiar el comportamiento del método `log`: agregar un prefijo con el nombre de la clase al mensaje. Sin embargo, después de sobrescribir el método, no puedo llamar a la versión original del trait. Aquí hay un ejemplo de código: ```php trait Logger { public function log($message) { echo "LOG: " . $message . "\n"; } } class UserService { use Logger; public function log($message) { // Quiero llamar al método padre del trait, pero no sé cómo // parent::log($message); // ¡Error! echo "[" . __CLASS__ . "] " . $message . "\n"; } } $service = new UserService(); $service->log("Usuario creado"); ``` Intenté usar `parent::log()`, pero no funciona — da un error. También probé