Nyckelordet trait

Nyckelordet trait används för att skapa traits - en mekanism för återanvändning av kod i PHP. Traits liknar klasser men är avsedda att gruppera funktionalitet i små och begripliga enheter. De kan inkluderas i klasser med hjälp av nyckelordet use.

Syntax

phptrait TraitName {
  // egenskaper och metoder för traitet
  public function method1() {
    // implementering
  }
}

Exempel

Låt oss skapa ett enkelt trait och inkludera det i en klass:

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

  class User {
    use Logger;
  }

  $user = new User();
  $user->log("Användare skapad");
?>

Resultat av kodkörning:

php'Loggar: Användare skapad'

Exempel

En klass kan använda flera traits samtidigt:

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 kodkörning:

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

Se även

  • kommandot class,
    som används för att deklarera klasser
  • kommandot interface,
    som används för att deklarera gränssnitt