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