คีย์เวิร์ด trait

คีย์เวิร์ด trait ใช้สำหรับสร้าง traits - กลไกการนำโค้ดกลับมาใช้ซ้ำใน PHP Traits มีความคล้ายคลึงกับคลases แต่มีจุดประสงค์เพื่อจัดกลุ่มฟังก์ชันการทำงานให้เป็นหน่วยย่อยๆ ที่กระชับและเข้าใจง่าย สามารถนำไปใช้ในคลาสได้ด้วยคีย์เวิร์ด use

ไวยากรณ์

phptrait TraitName {
  // คุณสมบัติและเมธอดของ trait
  public function method1() {
    // การนำไปใช้
  }
}

ตัวอย่าง

มาสร้าง trait อย่างง่ายและนำไปใช้ในคลาส:

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

  class User {
    use Logger;
  }

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

ผลลัพธ์จากการรันโค้ด:

php'Logging: User created'

ตัวอย่าง

คลาสสามารถใช้หลาย traits พร้อมกันได้:

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

ผลลัพธ์จากการรันโค้ด:

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

ดูเพิ่มเติม

  • คำสั่ง class,
    ซึ่งใช้สำหรับประกาศคลาส
  • คำสั่ง interface,
    ซึ่งใช้สำหรับประกาศอินเทอร์เฟซ