ReflectionClass::getTraitNames

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionClass::getTraitNamesこのクラスが使うトレイトの名前の配列を返す

説明

public ReflectionClass::getTraitNames(): array

このクラスが使うトレイトの名前を取得します。

パラメータ

この関数にはパラメータはありません。

戻り値

トレイト名を値とする配列を返します。

add a note

User Contributed Notes 1 note

up
2
emulienfou at gmail dot com
10 years 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