Het trefwoord trait

Het trefwoord trait wordt gebruikt om traits te maken - een mechanisme voor hergebruik van code in PHP. Traits lijken op klassen, maar zijn bedoeld om functionaliteit te groeperen in kleine en begrijpelijke eenheden. Ze kunnen in klassen worden opgenomen met het trefwoord use.

Syntaxis

phptrait TraitName {
  // eigenschappen en methoden van de trait
  public function method1() {
    // implementatie
  }
}

Voorbeeld

Laten we een eenvoudige trait maken en deze in een klasse opnemen:

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

  class User {
    use Logger;
  }

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

Resultaat van de code-uitvoering:

php'Loggen: Gebruiker aangemaakt'

Voorbeeld

Een klasse kan meerdere traits tegelijkertijd gebruiken:

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

Resultaat van de code-uitvoering:

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

Zie ook

  • het commando class,
    dat wordt gebruikt om klassen te declareren
  • het commando interface,
    dat wordt gebruikt om interfaces te declareren