La palabra clave trait

La palabra clave trait se utiliza para crear traits - un mecanismo de reutilización de código en PHP. Los traits son similares a las clases, pero están diseñados para agrupar funcionalidad en unidades pequeñas y comprensibles. Se pueden incorporar en clases usando la palabra clave use.

Sintaxis

phptrait TraitName {
  // propiedades y métodos del trait
  public function method1() {
    // implementación
  }
}

Ejemplo

Creemos un trait simple y incorpóremoslo a una clase:

php<?php
  trait Logger {
    public function log($message) {
      echo "Registrando: " . $message;
    }
  }

  class User {
    use Logger;
  }

  $user = new User();
  $user->log("Usuario creado");
?>

Resultado de ejecutar el código:

php'Registrando: Usuario creado'

Ejemplo

Una clase puede usar varios traits simultáneamente:

php<?php
  trait Timestamp {
    public function getCurrentTime() {
      return date('Y-m-d H:i:s');
    }
  }

  trait Serializer {
    public function toJson($data) {
      return json_encode($data);
    }
  }

  class Product {
    use Timestamp, Serializer;
  }

  $product = new Product();
  echo $product->getCurrentTime();
?>

Resultado de ejecutar el código:

php'2023-11-15 14:30:00'

Ver también

  • el comando class,
    que se utiliza para declarar clases
  • el comando interface,
    que se utiliza para declarar interfaces