Функција 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,
    која ги враќа интерфејсите на класата