
ReflectionClass::getParentClass 함수는 클래스의 부모 클래스를 반환합니다. 하지만, 이 함수는 단일 상속만 지원하므로, 클래스 A가 클래스 B를 상속하고, 클래스 B가 클래스 C를 상속하는 경우, 클래스 A의 부모 클래스는 클래스 B가 아닌 클래스 C가 됩니다.
따라서, ReflectionClass::getParentClass 함수를 사용하여 부모 클래스를 가져올 때, 상속 관계를 확인하는 방법은 다음과 같습니다.
1. 클래스의 상속 관계를 확인하여, 단일 상속 구조를 유지하는지 확인합니다.
2. ReflectionClass::getParentClass 함수를 사용하여 부모 클래스를 가져옵니다.
3. 가져온 부모 클래스가 실제 부모 클래스인지 확인합니다.
ReflectionClass::getParentClass 함수는 null을 반환하는 경우는 다음과 같습니다.
1. 클래스가 상속하지 않은 경우
2. 클래스가 인터페이스를 상속한 경우
3. 클래스가 추상 클래스를 상속한 경우
예를 들어, 다음과 같은 코드가 있습니다.
#hostingforum.kr
php
class A extends B {}
class B extends C {}
$a = new A();
$reflection = new ReflectionClass($a);
$parentClass = $reflection->getParentClass();
if ($parentClass->getName() === 'C') {
echo '클래스 A의 부모 클래스는 클래스 C입니다.';
} else {
echo '클래스 A의 부모 클래스는 클래스 C가 아닙니다.';
}
이 코드는 클래스 A의 부모 클래스가 클래스 C인지 확인합니다.
2025-06-09 06:27