
ReflectionClass::getModifiers 메서드는 클래스의 접근 제어자(modifiers)를 반환합니다.
접근 제어자(modifiers)는 클래스, 메서드, 변수에 적용되는 키워드입니다. 예를 들어, public, private, protected, static, final 등이 있습니다.
반환 값은 정수형(int)입니다.
예를 들어, 다음 코드는 ReflectionClass::getModifiers 메서드를 사용하여 접근 제어자를 확인하는 방법을 보여줍니다.
#hostingforum.kr
php
$reflectionClass = new ReflectionClass('MyClass');
$modifiers = $reflectionClass->getModifiers();
if ($modifiers & ReflectionClass::IS_PUBLIC) {
echo "public";
} elseif ($modifiers & ReflectionClass::IS_PROTECTED) {
echo "protected";
} elseif ($modifiers & ReflectionClass::IS_PRIVATE) {
echo "private";
} elseif ($modifiers & ReflectionClass::IS_STATIC) {
echo "static";
} elseif ($modifiers & ReflectionClass::IS_FINAL) {
echo "final";
}
이 코드는 MyClass 클래스의 접근 제어자를 확인하고, 그에 따라 public, protected, private, static, final 등의 키워드를 출력합니다.
ReflectionClass::getModifiers 메서드는 다음과 같은 예외를 발생시킬 수 있습니다.
- ReflectionException: 접근 제어자가 존재하지 않을 때 발생합니다.
ReflectionClass::getModifiers 메서드는 정적 메서드(static method)가 아닙니다.
ReflectionClass::getModifiers 메서드는 인스턴스 변수(instance variable)도 아닙니다.
ReflectionClass::getModifiers 메서드는 인스턴스 메서드(instance method)도 아닙니다.
이 메서드는 클래스의 접근 제어자(modifiers)를 반환하기 때문에, 클래스의 속성(attribute)과도 관련이 있습니다.
따라서, 이 메서드는 클래스의 속성(attribute)과 함께 사용할 수 있습니다.
예를 들어, 다음 코드는 ReflectionClass::getModifiers 메서드를 사용하여 접근 제어자를 확인하고, 그에 따라 클래스의 속성을 출력하는 방법을 보여줍니다.
#hostingforum.kr
php
$reflectionClass = new ReflectionClass('MyClass');
$modifiers = $reflectionClass->getModifiers();
if ($modifiers & ReflectionClass::IS_PUBLIC) {
echo "public";
} elseif ($modifiers & ReflectionClass::IS_PROTECTED) {
echo "protected";
} elseif ($modifiers & ReflectionClass::IS_PRIVATE) {
echo "private";
} elseif ($modifiers & ReflectionClass::IS_STATIC) {
echo "static";
} elseif ($modifiers & ReflectionClass::IS_FINAL) {
echo "final";
}
echo "n";
$properties = $reflectionClass->getProperties();
foreach ($properties as $property) {
echo $property->getName() . "n";
}
이 코드는 MyClass 클래스의 접근 제어자를 확인하고, 그에 따라 public, protected, private, static, final 등의 키워드를 출력합니다. 그리고, MyClass 클래스의 속성을 출력합니다.
2025-04-09 08:48