
ReflectionClass::getTraits 메소드는 Trait의 이름만 반환합니다. 반면, ReflectionClass::getTraitAliases 메소드는 Trait의 이름과 그 Trait의 알리아스 이름을 모두 반환합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
php
trait MyTrait {
public function myMethod() {}
}
trait MyAlias {
use MyTrait;
}
class MyClass {
use MyAlias;
}
$reflectionClass = new ReflectionClass('MyClass');
$traits = $reflectionClass->getTraits();
$traitAliases = $reflectionClass->getTraitAliases();
print_r($traits);
print_r($traitAliases);
이 코드를 실행하면, `$traits` 배열에는 `MyAlias`만 포함되지만, `$traitAliases` 배열에는 `MyAlias`와 `MyTrait`가 모두 포함됩니다.
이러한 차이점은 ReflectionClass::getTraits 메소드는 Trait의 이름만 반환하기 때문에, Trait의 알리아스 이름을 가져오기 위해서는 ReflectionClass::getTraitAliases 메소드를 사용해야 합니다.
2025-07-27 04:52