(PHP 5 >= 5.4.0, PHP 7, PHP 8)
class_uses — Возвращает список трейтов, используемых заданным классом
$object_or_class
, bool $autoload
= true
): array|false
Эта функция возвращает массив с именами трейтов, которые использует заданный
класс object_or_class
. В этот массив, однако, не попадут трейты,
используемые в классах-родителях.
object_or_class
Объект (экземпляр класса) или строка (имя класса).
autoload
Нужно ли автоматически подгружать класс, если он ещё не загружен.
В случае успешного выполнения будет возвращён массив, если заданный класс не существует, возвращается false
.
Пример #1 Пример использования class_uses()
<?php
trait foo { }
class bar {
use foo;
}
print_r(class_uses(new bar));
print_r(class_uses('bar'));
spl_autoload_register();
// использование автозагрузки для загрузки ещё незагруженного класса 'not_loaded'
print_r(class_uses('not_loaded', true));
?>
Результатом выполнения данного примера будет что-то подобное:
Array ( [foo] => foo ) Array ( [foo] => foo ) Array ( [trait_of_not_loaded] => trait_of_not_loaded )