The class_uses Function
The class_uses
function returns an array with the names of traits
used by the specified class or object. The function takes
one mandatory parameter - a class or object, and one optional
parameter that determines whether to include traits from parent classes.
Syntax
class_uses(object|string $class, bool $autoload = true): array
Example
Let's create several traits and a class that uses them:
<?php
trait TraitA {
public function methodA() {}
}
trait TraitB {
public function methodB() {}
}
class MyClass {
use TraitA, TraitB;
}
$res = class_uses('MyClass');
print_r($res);
?>
Code execution result:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Example
Let's check traits for an object:
<?php
$obj = new MyClass();
$res = class_uses($obj);
print_r($res);
?>
Code execution result:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Example
Working with inheritance:
<?php
class ParentClass {
use TraitA;
}
class ChildClass extends ParentClass {
use TraitB;
}
$res = class_uses('ChildClass');
print_r($res);
?>
Code execution result:
[
'TraitB' => 'TraitB'
]
See Also
-
the
class_parents
function,
which returns parent classes -
the
class_implements
function,
which returns class interfaces