Funktion class_uses
Die Funktion class_uses gibt ein Array mit den Namen der Traits zurück,
die von der angegebenen Klasse oder dem Objekt verwendet werden. Die Funktion akzeptiert
einen obligatorischen Parameter - eine Klasse oder ein Objekt, und einen optionalen
Parameter, der bestimmt, ob Traits von Elternklassen eingeschlossen werden sollen.
Syntax
class_uses(object|string $class, bool $autoload = true): array
Beispiel
Erstellen wir mehrere Traits und eine Klasse, die sie verwendet:
<?php
trait TraitA {
public function methodA() {}
}
trait TraitB {
public function methodB() {}
}
class MyClass {
use TraitA, TraitB;
}
$res = class_uses('MyClass');
print_r($res);
?>
Ergebnis der Codeausführung:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Beispiel
Überprüfen wir die Traits für ein Objekt:
<?php
$obj = new MyClass();
$res = class_uses($obj);
print_r($res);
?>
Ergebnis der Codeausführung:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Beispiel
Arbeit mit Vererbung:
<?php
class ParentClass {
use TraitA;
}
class ChildClass extends ParentClass {
use TraitB;
}
$res = class_uses('ChildClass');
print_r($res);
?>
Ergebnis der Codeausführung:
[
'TraitB' => 'TraitB'
]
Siehe auch
-
die Funktion
class_parents,
die Elternklassen zurückgibt -
die Funktion
class_implements,
die Schnittstellen einer Klasse zurückgibt