Função class_uses
A função class_uses retorna um array com os nomes dos traits,
que são utilizados pela classe ou objeto especificado. A função aceita
um parâmetro obrigatório - a classe ou objeto, e um parâmetro opcional,
que determina se é necessário incluir os traits das classes parentes.
Sintaxe
class_uses(object|string $class, bool $autoload = true): array
Exemplo
Vamos criar alguns traits e uma classe que os utiliza:
<?php
trait TraitA {
public function methodA() {}
}
trait TraitB {
public function methodB() {}
}
class MyClass {
use TraitA, TraitB;
}
$res = class_uses('MyClass');
print_r($res);
?>
Resultado da execução do código:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Exemplo
Vamos verificar os traits para um objeto:
<?php
$obj = new MyClass();
$res = class_uses($obj);
print_r($res);
?>
Resultado da execução do código:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Exemplo
Trabalhando com herança:
<?php
class ParentClass {
use TraitA;
}
class ChildClass extends ParentClass {
use TraitB;
}
$res = class_uses('ChildClass');
print_r($res);
?>
Resultado da execução do código:
[
'TraitB' => 'TraitB'
]
Veja também
-
a função
class_parents,
que retorna as classes parentes -
a função
class_implements,
que retorna as interfaces da classe