Функсияи class_uses

Функсияи class_uses массиве бо номҳои трейтҳоро бармегардонад, ки аз ҷониби класс ё объекти муайяншуда истифода мешаванд. Функсия як параметрҳои ҳатмӣ - класс ё объект, ва як параметри ихтиёрӣ мегирад, ки муайян мекунад оё трейтҳои классҳои волидайнро дохил кардан лозим аст.

Синтаксис

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

Мисол

Якчанд трейтҳо ва классе, ки онҳоро истифода мебарад, эҷод мекунем:

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'
]

Мисол

Трейтҳоро барои объект санҷем:

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,
    ки интерфейсҳои классро бармегардонад