PHP Conference Nagoya 2025

ReflectionClass::getTraitNames

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

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

说明

public ReflectionClass::getTraitNames(): array

获取该类使用的 trait 名称。

参数

此函数没有参数。

返回值

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

添加备注

用户贡献的备注 1 note

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