CakeFest 2024: The Official CakePHP Conference

ReflectionClass::getTraitNames

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

ReflectionClass::getTraitNames返回这个类所使用 traits 的名称的数组

说明

public ReflectionClass::getTraitNames(): array

获取该类使用的 trait 名称。

参数

此函数没有参数。

返回值

返回的数组的值包含了 trait 的名称。

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