class_uses

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

class_uses Возвращает список трейтов, используемых заданным классом

Описание

class_uses(object|string$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 )

Смотрите также

  • class_parents() - Возвращает список родительских классов заданного класса
  • get_declared_traits() - Возвращает массив объявленных трейтов
To Top