Nøkkelordet trait

Nøkkelordet trait brukes for å lage treter - en mekanisme for gjenbruk av kode i PHP. Treter ligner på klasser, men er beregnet for å gruppere funksjonalitet i små og forståelige enheter. De kan kobles til klasser ved hjelp av nøkkelordet use.

Syntaks

phptrait TraitName {
  // egenskaper og metoder for trait
  public function method1() {
    // implementering
  }
}

Eksempel

La oss lage en enkel trait og koble den til en klasse:

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

  class User {
    use Logger;
  }

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

Resultat av kjøring av kode:

php'Logger: Bruker opprettet'

Eksempel

En klasse kan bruke flere treter samtidig:

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

Resultat av kjøring av kode:

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

Se også

  • kommandoen class,
    som brukes til å deklarere klasser
  • kommandoen interface,
    som brukes til å deklarere grensesnitt