The 7th Annual China PHP Conference

ReflectionClass::getTraitNames

(PHP 5 >= 5.4.0, PHP 7)

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

説明

public ReflectionClass::getTraitNames ( void ) : array

警告

この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。

パラメータ

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

返り値

トレイト名を値とする配列を返します。 エラー時には NULL を返します。

add a note add a note

User Contributed Notes 1 note

up
1
emulienfou at gmail dot com
5 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