Функцыя 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
,
якая вяртае інтэрфейсы класа