PHP 5.6.0RC3 is available

ReflectionClass::getTraitNames

(PHP >= 5.4.0)

ReflectionClass::getTraitNamesReturns an array of names of traits used by this class

Description

public array ReflectionClass::getTraitNames ( void )

Warning

This function is currently not documented; only its argument list is available.

Parameters

This function has no parameters.

Return Values

Returns an array with trait names in values. Returns NULL in case of an error.

add a note add a note

User Contributed Notes 1 note

up
0
emulienfou at gmail dot com
8 months ago
This remote return only the trait names from the current class.

If your class extends another class using your trait, you can't get the names. However, you can do something like :

<?php
$traitsNames
= [];
$recursiveClasses = function ($class) use(&$recursiveClasses, &$traitsNames) {
    if (
$class->getParentClass() != false) {
       
$recursiveClasses($class->getParentClass());
    }
    else {
       
$traitsNames = array_merge($traitsNames, $class->getTraitNames());
    }
};
$recursiveClasses($controllerClass);
To Top