Võtmesõna trait

Võtmesõna trait kasutatakse traitide loomiseks - mehhanism koodi uuestikasutamiseks PHP-s. Traidid on klasside sarnased, kuid on mõeldud funktsionaalsuse grupeerimiseks väikestesse ja arusaadavatesse ühikuteks. Neid saab klassidesse ühendada võtmesõna use abil.

Süntaks

phptrait TraitName {
  // traidi omadused ja meetodid
  public function method1() {
    // implementatsioon
  }
}

Näide

Loome lihtsa traidi ja ühendame selle klassiga:

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

  class User {
    use Logger;
  }

  $user = new User();
  $user->log("Kasutaja loodud");
?>

Koodi täitmise tulemus:

php'Logimine: Kasutaja loodud'

Näide

Klass saab kasutada mitut trait'i korraga:

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

Koodi täitmise tulemus:

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

Vaata ka

  • käsku class,
    mida kasutatakse klasside deklareerimiseks
  • käsku interface,
    mida kasutatakse liideste deklareerimiseks