Trait-avainsana

Avainsanaa trait käytetään traitien luomiseen - mekanismi koodin uudelleenkäyttöön PHP:ssä. Traitit muistuttavat luokkia, mutta ne on tarkoitettu toiminnallisuuden ryhmittämiseen pieniin ja ymmärrettäviin yksiköihin. Ne voidaan liittää luokkiin käyttämällä avainsanaa use.

Syntaksi

phptrait TraitName {
  // traitin ominaisuudet ja metodit
  public function method1() {
    // toteutus
  }
}

Esimerkki

Luodaan yksinkertainen trait ja liitetään se luokkaan:

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

  class User {
    use Logger;
  }

  $user = new User();
  $user->log("Käyttäjä luotu");
?>

Koodin suorituksen tulos:

php'Lokitus: Käyttäjä luotu'

Esimerkki

Luokka voi käyttää useita traiteja samanaikaisesti:

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

Koodin suorituksen tulos:

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

Katso myös

  • komento class,
    jota käytetään luokkien määrittelemiseen
  • komento interface,
    jota käytetään rajapintojen määrittelemiseen