Функция class_uses
Функцията class_uses връща масив с имена на трейтове,
които използва указаният клас или обект. Функцията приема
един задължителен параметър - клас или обект, и един незадължителен
параметър, определящ дали трябва да се включат трейтове на родителските класове.
Синтаксис
class_uses(object|string $class, bool $autoload = true): array
Пример
Нека създадем няколко трейта и клас, който ги използва:
<?php
trait TraitA {
public function methodA() {}
}
trait TraitB {
public function methodB() {}
}
class MyClass {
use TraitA, TraitB;
}
$res = class_uses('MyClass');
print_r($res);
?>
Резултат от изпълнението на кода:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Пример
Нека проверим трейтовете за обект:
<?php
$obj = new MyClass();
$res = class_uses($obj);
print_r($res);
?>
Резултат от изпълнението на кода:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Пример
Работа с наследяване:
<?php
class ParentClass {
use TraitA;
}
class ChildClass extends ParentClass {
use TraitB;
}
$res = class_uses('ChildClass');
print_r($res);
?>
Резултат от изпълнението на кода:
[
'TraitB' => 'TraitB'
]
Вижте също
-
функцията
class_parents,
която връща родителските класове -
функцията
class_implements,
която връща интерфейсите на класа