ฟังก์ชัน class_uses

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

ไวยากรณ์

phpclass_uses(object|string $class, bool $autoload = true): array

ตัวอย่าง

มาสร้าง traits หลายตัวและคลาสที่ใช้พวกมัน:

php<?php
  trait TraitA {
    public function methodA() {}
  }
  
  trait TraitB {
    public function methodB() {}
  }
  
  class MyClass {
    use TraitA, TraitB;
  }
  
  $res = class_uses('MyClass');
  print_r($res);
?>

ผลลัพธ์การทำงานของโค้ด:

php[
  'TraitA' => 'TraitA',
  'TraitB' => 'TraitB'
]

ตัวอย่าง

ตรวจสอบ traits สำหรับอ็อบเจ็กต์:

php<?php
  $obj = new MyClass();
  $res = class_uses($obj);
  print_r($res);
?>

ผลลัพธ์การทำงานของโค้ด:

php[
  'TraitA' => 'TraitA',
  'TraitB' => 'TraitB'
]

ตัวอย่าง

การทำงานกับการสืบทอด:

php<?php
  class ParentClass {
    use TraitA;
  }
  
  class ChildClass extends ParentClass {
    use TraitB;
  }
  
  $res = class_uses('ChildClass');
  print_r($res);
?>

ผลลัพธ์การทำงานของโค้ด:

php[
  'TraitB' => 'TraitB'
]

ดูเพิ่มเติม

  • ฟังก์ชัน class_parents,
    ซึ่งคืนค่าคลาสแม่
  • ฟังก์ชัน class_implements,
    ซึ่งคืนค่าอินเทอร์เฟซของคลาส