Mot-clé trait

Le mot-clé trait est utilisé pour créer des traits - un mécanisme de réutilisation de code en PHP. Les traits sont similaires aux classes, mais sont conçus pour regrouper des fonctionnalités dans des unités réduites et compréhensibles. Ils peuvent être intégrés dans des classes à l'aide du mot-clé use.

Syntaxe

phptrait TraitName {
  // propriétés et méthodes du trait
  public function method1() {
    // implémentation
  }
}

Exemple

Créons un trait simple et intégrons-le dans une classe :

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

  class User {
    use Logger;
  }

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

Résultat de l'exécution du code :

php'Logging: User created'

Exemple

Une classe peut utiliser plusieurs traits simultanément :

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();
?>

Résultat de l'exécution du code :

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

Voir aussi

  • la commande class,
    qui est utilisée pour déclarer des classes
  • la commande interface,
    qui est utilisée pour déclarer des interfaces