Hàm class_uses

Hàm class_uses trả về một mảng chứa tên các trait, mà class hoặc đối tượng được chỉ định sử dụng. Hàm nhận một tham số bắt buộc - class hoặc đối tượng, và một tham số không bắt buộc, xác định có cần bao gồm các trait của các class cha hay không.

Cú pháp

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

Ví dụ

Tạo một số trait và một class sử dụng chúng:

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

Kết quả thực thi mã:

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

Ví dụ

Kiểm tra các trait cho đối tượng:

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

Kết quả thực thi mã:

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

Ví dụ

Làm việc với kế thừa:

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

Kết quả thực thi mã:

php[
  'TraitB' => 'TraitB'
]

Xem thêm