Funkcja class_uses
Funkcja class_uses zwraca tablicę z nazwami traitów,
które są używane przez określoną klasę lub obiekt. Funkcja przyjmuje
jeden obowiązkowy parametr - klasę lub obiekt, oraz jeden opcjonalny
parametr określający, czy należy uwzględnić traity klas nadrzędnych.
Składnia
class_uses(object|string $class, bool $autoload = true): array
Przykład
Utwórzmy kilka traitów i klasę, która ich używa:
<?php
trait TraitA {
public function methodA() {}
}
trait TraitB {
public function methodB() {}
}
class MyClass {
use TraitA, TraitB;
}
$res = class_uses('MyClass');
print_r($res);
?>
Wynik wykonania kodu:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Przykład
Sprawdźmy traity dla obiektu:
<?php
$obj = new MyClass();
$res = class_uses($obj);
print_r($res);
?>
Wynik wykonania kodu:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Przykład
Praca z dziedziczeniem:
<?php
class ParentClass {
use TraitA;
}
class ChildClass extends ParentClass {
use TraitB;
}
$res = class_uses('ChildClass');
print_r($res);
?>
Wynik wykonania kodu:
[
'TraitB' => 'TraitB'
]
Zobacz też
-
funkcję
class_parents,
która zwraca klasy nadrzędne -
funkcję
class_implements,
która zwraca interfejsy klasy