Funkce class_uses
Funkce class_uses vrací pole s názvy traitů,
které používá zadaná třída nebo objekt. Funkce přijímá
jeden povinný parametr - třídu nebo objekt, a jeden volitelný
parametr, který určuje, zda mají být zahrnuty traity rodičovských tříd.
Syntaxe
class_uses(object|string $class, bool $autoload = true): array
Příklad
Vytvoříme několik traitů a třídu, která je používá:
<?php
trait TraitA {
public function methodA() {}
}
trait TraitB {
public function methodB() {}
}
class MyClass {
use TraitA, TraitB;
}
$res = class_uses('MyClass');
print_r($res);
?>
Výsledek provedení kódu:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Příklad
Zkontrolujeme traity pro objekt:
<?php
$obj = new MyClass();
$res = class_uses($obj);
print_r($res);
?>
Výsledek provedení kódu:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Příklad
Práce s dědičností:
<?php
class ParentClass {
use TraitA;
}
class ChildClass extends ParentClass {
use TraitB;
}
$res = class_uses('ChildClass');
print_r($res);
?>
Výsledek provedení kódu:
[
'TraitB' => 'TraitB'
]
Viz také
-
funkci
class_parents,
která vrací rodičovské třídy -
funkci
class_implements,
která vrací rozhraní třídy