
ReflectionClassConstant::getDeclaringClass 메소드는 상수에 정의된 클래스를 반환합니다.
예를 들어, 다음과 같은 클래스가 있다고 가정해 보겠습니다.
#hostingforum.kr
php
class A {
const B = 'constant';
}
class C extends A {
const D = 'constant';
}
이 경우, ReflectionClassConstant::getDeclaringClass 메소드를 사용하여 상수 B와 상수 D의 정의된 클래스를 확인할 수 있습니다.
#hostingforum.kr
php
$reflectionClassB = new ReflectionClassConstant('A::B');
$reflectionClassD = new ReflectionClassConstant('C::D');
echo $reflectionClassB->getDeclaringClass()->getName() . "n"; // A
echo $reflectionClassD->getDeclaringClass()->getName() . "n"; // A
상수 B와 상수 D의 정의된 클래스는 모두 클래스 A입니다.
만약에 상수 B와 상수 D가 같은 클래스에 정의된 경우, ReflectionClassConstant::getDeclaringClass 메소드는 해당 클래스를 반환합니다.
#hostingforum.kr
php
class A {
const B = 'constant';
const D = 'constant';
}
$reflectionClassB = new ReflectionClassConstant('A::B');
$reflectionClassD = new ReflectionClassConstant('A::D');
echo $reflectionClassB->getDeclaringClass()->getName() . "n"; // A
echo $reflectionClassD->getDeclaringClass()->getName() . "n"; // A
이 경우, 상수 B와 상수 D의 정의된 클래스는 모두 클래스 A입니다.
ReflectionClassConstant::getDeclaringClass 메소드에 대한 더 많은 정보나 예시는 PHP 공식 문서를 참고하시기 바랍니다.
2025-07-21 20:15