> 백엔드 개발 > PHP 튜토리얼 > PHP에서 보호된 속성에 어떻게 액세스할 수 있나요?

PHP에서 보호된 속성에 어떻게 액세스할 수 있나요?

Patricia Arquette
풀어 주다: 2024-12-06 12:56:17
원래의
446명이 탐색했습니다.

How Can I Access Protected Properties in PHP?

PHP에서 보호된 속성 검색

객체 작업 중에 보호된 속성에 액세스하거나 수정해야 하는 상황이 발생할 수 있습니다. 이 액세스는 일반적으로 하위 클래스 또는 정의 클래스로 제한되지만 특정 기술을 사용하여 이러한 속성을 검색하는 것이 가능합니다.

PHP 5.2에서 보호된 속성에 액세스

PHP 5.2에서 , 클래스 리플렉션과 속성 조작의 조합을 사용하여 보호된 속성을 검색할 수 있습니다. 방법은 다음과 같습니다.

1. 반사 함수 만들기:

function accessProtected($obj, $prop) {
  $reflection = new ReflectionClass($obj);
  $property = $reflection->getProperty($prop);
  $property->setAccessible(true);
}
로그인 후 복사

2. 리플렉션 함수 호출:

$obj = new Fields_Form_Element_Location();
$value = accessProtected($obj, '_value');
로그인 후 복사

setAccessible(true)을 호출하면 기본 접근성 제한을 무시하고 보호된 속성을 검색할 수 있습니다.

추가 참고 사항:

  • accessProtected() 함수의 $prop를 실제 보호 속성 이름입니다.
  • 보호 속성을 수정하면 예측할 수 없는 동작이 발생할 수 있으므로 이 기술을 주의해서 사용하세요.
  • 클래스에서 getter 및 setter를 사용하여 보호 속성에 대한 제어된 액세스를 제공하는 것을 고려하세요.

위 내용은 PHP에서 보호된 속성에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿