329 of 410 menu

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

byenru