Ključna beseda trait

Ključna beseda trait se uporablja za ustvarjanje znacilnosti (traits) - mehanizma za ponovno uporabo kode v PHP. Značilnosti so podobne razredom, vendar so namenjene združevanju funkcionalnosti v majhne in razumljive enote. Lahko jih vključimo v razrede s ključno besedo use.

Sintaksa

phptrait TraitName {
  // lastnosti in metode znacilnosti
  public function method1() {
    // implementacija
  }
}

Primer

Ustvarimo preprosto znacilnost in jo povežimo z razredom:

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

  class User {
    use Logger;
  }

  $user = new User();
  $user->log("Uporabnik ustvarjen");
?>

Rezultat izvajanja kode:

php'Beleženje: Uporabnik ustvarjen'

Primer

Razred lahko hkrati uporablja več znacilnosti:

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

Rezultat izvajanja kode:

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

Glejte tudi

  • ukaz class,
    ki se uporablja za deklaracijo razredov
  • ukaz interface,
    ki se uporablja za deklaracijo vmesnikov