ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
329 of 410 menu
Бесплатный курс по выкладке сайтов на хостинг. Разбираем все нюансы! Начало 14 октября. Жми для записи!

Функция class_uses

Функция class_uses возвращает массив с именами трейтов, которые использует указанный класс или объект. Функция принимает один обязательный параметр - класс или объект, и один необязательный параметр, определяющий нужно ли включать трейты родительских классов.

Синтаксис

class_uses(object|string $class, bool $autoload = true): array

Пример

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

<?php trait TraitA { public function methodA() {} } trait TraitB { public function methodB() {} } class MyClass { use TraitA, TraitB; } $res = class_uses('MyClass'); print_r($res); ?>

Результат выполнения кода:

[ 'TraitA' => 'TraitA', 'TraitB' => 'TraitB' ]

Пример

Проверим трейты для объекта:

<?php $obj = new MyClass(); $res = class_uses($obj); print_r($res); ?>

Результат выполнения кода:

[ 'TraitA' => 'TraitA', 'TraitB' => 'TraitB' ]

Пример

Работа с наследованием:

<?php class ParentClass { use TraitA; } class ChildClass extends ParentClass { use TraitB; } $res = class_uses('ChildClass'); print_r($res); ?>

Результат выполнения кода:

[ 'TraitB' => 'TraitB' ]

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

  • функцию class_parents,
    которая возвращает родительские классы
  • функцию class_implements,
    которая возвращает интерфейсы класса
byenru