Reflection ReflectionProperty::setAccessible
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
ReflectionProperty::setAccessible — 속성 접근성 설정
설명
public ReflectionProperty::setAccessible(bool $accessible
): void
ReflectionProperty::getValue() 및 ReflectionProperty::setValue() 메서드를 통해 보호 또는 비공개 속성에 액세스할 수 있습니다.
참고: PHP 8.1.0부터 이 메서드를 호출해도 아무런 효과가 없습니다. 기본적으로 모든 속성에 액세스할 수 있습니다.
매개변수
accessible
- 접근성을 허용하려면
true
, 그렇지 않으면false
입니다.
반환 값
값이 반환되지 않습니다.
Examples
예제 #1 단순 클래스 정의
<?php
class MyClass
{
private $foo = 'bar';
}
$property = new ReflectionProperty("MyClass", "foo");
$property->setAccessible(true);
$obj = new MyClass();
echo $property->getValue($obj);
echo $obj->foo;
?>
위의 예는 다음과 유사한 결과를 출력합니다.
bar Fatal error: Uncaught Error: Cannot access private property MyClass::$foo in /in/WJqTv:12
기타
- ReflectionProperty::isPrivate() - 속성이 private인지 확인
- ReflectionProperty::isProtected() - 속성이 protected인지 확인