Klíčové slovo trait

Klíčové slovo trait se používá k vytváření traitů - mechanismu pro znovupoužití kódu v PHP. Traity jsou podobné třídám, ale jsou určeny pro skupinování funkcionality do malých a srozumitelných jednotek. Lze je připojit do tříd pomocí klíčového slova use.

Syntaxe

phptrait TraitName {
  // vlastnosti a metody traitu
  public function method1() {
    // implementace
  }
}

Příklad

Vytvoříme jednoduchý trait a připojíme jej do třídy:

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

  class User {
    use Logger;
  }

  $user = new User();
  $user->log("Uživatel vytvořen");
?>

Výsledek provedení kódu:

php'Logování: Uživatel vytvořen'

Příklad

Třída může používat několik traitů současně:

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

Výsledek provedení kódu:

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

Viz také

  • příkaz class,
    který se používá pro deklaraci tříd
  • příkaz interface,
    který se používá pro deklaraci rozhraní