A trait kulcsszó

A trait kulcsszó trait-ok létrehozására szolgál - egy mechanizmus a kód újrafelhasználására a PHP-ban. A trait-ok hasonlóak az osztályokhoz, de a funkcionalitás kisméretű és érthető egységekbe csoportosítására tervezték. A use kulcsszóval csatolhatók osztályokhoz.

Szintaxis

phptrait TraitName {
  // a trait tulajdonságai és metódusai
  public function method1() {
    // implementáció
  }
}

Példa

Hozzunk létre egy egyszerű trait-ot és csatoljuk egy osztályhoz:

php<?php
  trait Logger {
    public function log($message) {
      echo "Naplózás: " . $message;
    }
  }

  class User {
    use Logger;
  }

  $user = new User();
  $user->log("Felhasználó létrehozva");
?>

A kód végrehajtásának eredménye:

php'Naplózás: Felhasználó létrehozva'

Példa

Egy osztály egyszerre több trait-ot is használhat:

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

A kód végrehajtásának eredménye:

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

Lásd még

  • a class parancsot,
    amely osztályok deklarálására szolgál
  • a interface parancsot,
    amely interfészek deklarálására szolgál