
ReflectionClass::isUserDefined 메소드는 클래스의 정의가 사용자가 직접 작성한 것인지, PHP의 내장 클래스인지 여부를 확인하는 메소드입니다.
이 메소드는 true를 반환할 때, 클래스의 정의가 사용자가 직접 작성한 것임을 의미합니다. 반면 false를 반환할 때, 클래스의 정의는 PHP의 내장 클래스로, 사용자가 직접 작성한 것이 아닙니다.
이 메소드를 사용할 때 주의할 점은, 내장 클래스의 경우 ReflectionClass::isUserDefined 메소드는 항상 false를 반환합니다. 따라서 내장 클래스의 경우 이 메소드를 사용할 필요가 없습니다.
예시 코드는 다음과 같습니다.
#hostingforum.kr
php
class MyClass {
// 사용자가 직접 작성한 클래스
}
$reflectionClass = new ReflectionClass('MyClass');
echo ReflectionClass::isUserDefined($reflectionClass->getName()) ? 'true' : 'false'; // true
$reflectionClass = new ReflectionClass('stdClass');
echo ReflectionClass::isUserDefined($reflectionClass->getName()) ? 'true' : 'false'; // false
이 예시 코드에서, MyClass는 사용자가 직접 작성한 클래스이므로 ReflectionClass::isUserDefined 메소드는 true를 반환합니다. 반면 stdClass는 PHP의 내장 클래스이므로 ReflectionClass::isUserDefined 메소드는 false를 반환합니다.
2025-07-11 04:33