> 백엔드 개발 > PHP 튜토리얼 > PHP 매직 메소드 __GET, __SET 사용 예제_php 기술

PHP 매직 메소드 __GET, __SET 사용 예제_php 기술

WBOY
풀어 주다: 2016-05-16 20:30:21
원래의
1033명이 탐색했습니다.

__get()  - 접근할 수 없는 속성의 값을 읽을 때 __get()이 호출됩니다.

__set()  - 접근할 수 없는 속성에 값을 할당할 때 __set()가 호출됩니다.

코드 복사 코드는 다음과 같습니다.

/**
* __get() __set()에 대한 명확한 이해
​*/
클래스 예 {
 
//공개 속성
공개 $public = 'pub' ;
//보호됨 - 이 속성은 서브클래스에서 사용할 수 있습니다
보호됨 $보호됨 = '프로';
//비공개 - 이 속성은 이 클래스에서만 사용할 수 있습니다
비공개 $private = 'pri';
 
//액세스 객체의 속성이 존재하지 않거나 공개 속성이 아닌 경우 __get() 메서드를 자동으로 로드합니다.
공개 함수 __get($name){
            'Call __get() method:'.$name;
을 반환합니다. }
 
//객체의 속성에 값을 할당할 때 해당 속성이 존재하지 않거나 비공개 속성인 경우 __set() 메서드가 자동으로 로드됩니다.
공개 함수 __set($name,$value){
echo "nname:".$name.',value:'.$value."n";
}
}

$example = 새 예;
echo '

';
echo $example->public."n";
echo $example->protected."n";
echo $example->private."n";
echo $example->other."n";
echo '
';
$example->public = 'lic'; //이 할당은 성공했으며 아무것도 표시되지 않습니다
$example->보호됨 = 'tec';
$example->private = 'vat';
$example->other = 'er';
echo '
';
echo '공개 속성 인쇄:'.$example->public;

결과는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.


__get() 메서드를 호출하세요: protected
__get() 메소드를 호출하세요: private
__get() 메서드를 호출하세요: 기타

이름: protected, 값: tec

이름: 비공개, 값: vat

이름:기타,값:er

공개 속성 인쇄: lic

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