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é