
ReflectionClass::getStaticVariables() 메서드는 클래스의 정적 변수를 얻어올 수 있습니다. 하지만, 이 메서드를 사용할 때는 클래스가 인스턴스화된 상태여야 합니다.
인스턴스화되지 않은 클래스에 ReflectionClass::getStaticVariables() 메서드를 호출하면 오류가 발생합니다.
예를 들어, 다음 코드를 실행하면 오류가 발생합니다.
#hostingforum.kr
php
$reflectionClass = new ReflectionClass('MyClass');
$staticVariables = $reflectionClass->getStaticVariables();
MyClass가 인스턴스화되지 않았기 때문에 오류가 발생합니다.
MyClass를 인스턴스화한 후에 ReflectionClass::getStaticVariables() 메서드를 호출하면 정적 변수를 얻을 수 있습니다.
#hostingforum.kr
php
$myClass = new MyClass();
$reflectionClass = new ReflectionClass(get_class($myClass));
$staticVariables = $reflectionClass->getStaticVariables();
또한, ReflectionClass::getStaticVariables() 메서드는 클래스의 정적 변수를 얻어올 수 있지만, 클래스가 인스턴스화되지 않은 경우에만 오류가 발생합니다. 클래스가 인스턴스화된 경우에는 정적 변수를 얻을 수 있습니다.
만약, 클래스가 인스턴스화되지 않았지만 정적 변수가 없을 경우에는 오류가 발생하지 않습니다.
#hostingforum.kr
php
class MyClass {
public static $staticVariable;
}
$reflectionClass = new ReflectionClass('MyClass');
$staticVariables = $reflectionClass->getStaticVariables();
이 경우에는 오류가 발생하지 않습니다.
2025-06-11 00:09