Funzione class_uses
La funzione class_uses restituisce un array con i nomi dei tratti,
utilizzati dalla classe o oggetto specificato. La funzione accetta
un parametro obbligatorio - la classe o l'oggetto, e un parametro opzionale,
che determina se includere i tratti delle classi genitore.
Sintassi
class_uses(object|string $class, bool $autoload = true): array
Esempio
Creiamo diversi tratti e una classe che li utilizza:
<?php
trait TraitA {
public function methodA() {}
}
trait TraitB {
public function methodB() {}
}
class MyClass {
use TraitA, TraitB;
}
$res = class_uses('MyClass');
print_r($res);
?>
Risultato dell'esecuzione del codice:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Esempio
Controlliamo i tratti per un oggetto:
<?php
$obj = new MyClass();
$res = class_uses($obj);
print_r($res);
?>
Risultato dell'esecuzione del codice:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Esempio
Lavorare con l'ereditarietà:
<?php
class ParentClass {
use TraitA;
}
class ChildClass extends ParentClass {
use TraitB;
}
$res = class_uses('ChildClass');
print_r($res);
?>
Risultato dell'esecuzione del codice:
[
'TraitB' => 'TraitB'
]
Vedi anche
-
la funzione
class_parents,
che restituisce le classi genitore -
la funzione
class_implements,
che restituisce le interfacce della classe