Función class_uses
La función class_uses devuelve un array con los nombres de los traits,
que utiliza la clase u objeto especificado. La función acepta
un parámetro obligatorio - la clase u objeto, y un parámetro opcional,
que determina si se deben incluir los traits de las clases padre.
Sintaxis
class_uses(object|string $class, bool $autoload = true): array
Ejemplo
Creemos varios traits y una clase que los utilice:
<?php
trait TraitA {
public function methodA() {}
}
trait TraitB {
public function methodB() {}
}
class MyClass {
use TraitA, TraitB;
}
$res = class_uses('MyClass');
print_r($res);
?>
Resultado de la ejecución del código:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Ejemplo
Comprobemos los traits para un objeto:
<?php
$obj = new MyClass();
$res = class_uses($obj);
print_r($res);
?>
Resultado de la ejecución del código:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Ejemplo
Trabajo con herencia:
<?php
class ParentClass {
use TraitA;
}
class ChildClass extends ParentClass {
use TraitB;
}
$res = class_uses('ChildClass');
print_r($res);
?>
Resultado de la ejecución del código:
[
'TraitB' => 'TraitB'
]
Ver también
-
la función
class_parents,
que devuelve las clases padre -
la función
class_implements,
que devuelve las interfaces de la clase