Parola chiave trait

La parola chiave trait viene utilizzata per creare tratti - un meccanismo per il riutilizzo del codice in PHP. I tratti sono simili alle classi, ma sono progettati per raggruppare la funzionalità in unità piccole e comprensibili. Possono essere inclusi nelle classi utilizzando la parola chiave use.

Sintassi

phptrait TraitName {
  // proprietà e metodi del tratto
  public function method1() {
    // implementazione
  }
}

Esempio

Creiamo un tratto semplice e includiamolo in una classe:

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

  class User {
    use Logger;
  }

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

Risultato dell'esecuzione del codice:

php'Logging: User created'

Esempio

Una classe può utilizzare più tratti contemporaneamente:

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

Risultato dell'esecuzione del codice:

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

Vedi anche

  • il comando class,
    che viene utilizzato per dichiarare le classi
  • il comando interface,
    che viene utilizzato per dichiarare le interfacce