PHP 중get()과set()의 용법 실례 상세 설명
//__set()
public function __set($name,$value){
$this->$name = $value;
}
//__get()
public function __get($name){
return $this->$name;
}
get()방법:이 방법 은 개인 구성원 의 속성 값 을 가 져 오 는 데 사 용 됩 니 다.하나의 매개 변수 가 있 습 니 다.매개 변 수 는 당신 이 가 져 올 구성원 속성의 이름 을 입력 하고 가 져 온 속성 값 을 되 돌려 줍 니 다.이 방법 은 우리 가 손 으로 호출 하지 않 아 도 됩 니 다.왜냐하면 우 리 는 이 방법 을 개인 적 인 방법 으로 만 들 수 있 기 때문에 개인 속성 을 직접 가 져 올 때 대상 이 자동 으로 호출 됩 니 다.개인 속성 이 봉인 되 어 있 기 때문에 값 을 직접 가 져 올 수 없습니다.그러나 클래스 에 이 방법 을 추가 하면"echo$p1->name"이라는 문 구 를 사용 하여 값 을 직접 가 져 올 때 자동 으로 를 호출 합 니 다.get($name)방법,속성 name 을 인자$name 에 전달 합 니 다.이 방법의 내부 실행 을 통 해 우리 가 들 어 온 개인 속성의 값 을 되 돌려 줍 니 다.멤버 속성 이 개인 으로 봉인 되 지 않 으 면 대상 자체 가 이 방법 을 자동 으로 호출 하지 않 습 니 다.set()방법:이 방법 은 개인 구성원 속성 에 값 을 설정 하 는 데 사 용 됩 니 다.두 개의 매개 변수 가 있 습 니 다.첫 번 째 매개 변 수 는 값 을 설정 하 는 속성 명 입 니 다.두 번 째 매개 변 수 는 속성 에 설정 할 값 이 고 값 을 되 돌려 주지 않 습 니 다.이 방법 역시 우리 가 손 으로 호출 하지 않 아 도 사유 로 만 들 수 있 습 니 다.사유 속성 치 를 직접 설정 할 때 자동 으로 호출 됩 니 다.같은 속성 사유 가 이미 봉인 되 었 습 니 다.만약 에 가 없다 면.set()이 방법 은 허용 되 지 않 습 니 다.예 를 들 어$this->name='zhangsan'은 오류 가 발생 할 수 있 습 니 다.하지만 클래스 에 를 추가 하면...set($property_name,$value)이 방법 은 개인 속성 에 직접 값 을 부여 할 때 자동 으로 호출 됩 니 다.예 를 들 어 name 을$property 에 전달 합 니 다.name,할당 할 값"zhangsan"을$value 에 전달 합 니 다.이 방법 을 실행 하여 할당 의 목적 을 달성 합 니 다.구성원 속성 이 개인 으로 봉인 되 지 않 으 면 대상 자체 가 이 방법 을 자동 으로 호출 하지 않 습 니 다.불법 값 이 들 어 오지 않 기 위해 서 는 이 방법 으로 판단 할 수도 있다.코드 는 다음 과 같 습 니 다.
<?php
class Person
{
// ,
private $name; //
private $sex; //
private $age; //
//__get()
private function __get($property_name)
{
echo " , __get() <br>";
if(isset($this->$property_name))
{
return($this->$property_name);
}
else
{
return(NULL);
}
}
//__set()
private function __set($property_name, $value)
{
echo " , __set() <br>";
$this->$property_name = $value;
}
}
$p1=newPerson();
// , __set()
$p1->name=" ";
$p1->sex=" ";
$p1->age=20;
// , __get() ,
echo " :".$p1->name."<br>";
echo " :".$p1->sex."<br>";
echo " :".$p1->age."<br>";
?>
프로그램 실행 결과:개인 속성 치 를 직접 설정 할 때 이 를 자동 으로 호출 합 니 다.set()방법 은 사유 속성 할당 을 위해 사유 속성 값 을 직접 설정 할 때 이 를 자동 으로 호출 합 니 다.set()방법 은 사유 속성 할당 을 위해 사유 속성 값 을 직접 설정 할 때 이 를 자동 으로 호출 합 니 다.set()방법 은 사유 속성 에 값 을 부여 합 니 다.사유 속성 값 을 직접 가 져 올 때 이 를 자동 으로 호출 합 니 다.get()방법 이름:장삼 은 사유 속성 치 를 직접 획득 할 때 이 를 자동 으로 호출 합 니 다.get()방법 성별:남 자 는 사유 속성 치 를 직접 획득 할 때 이 를 자동 으로 호출 합 니 다.get()방법 연령:20 이상 코드 를 추가 하지 않 으 면get()과set()방법 은 프로그램 에 오류 가 발생 합 니 다.클래스 의 외부 에서 개인 구성원 을 조작 할 수 없 기 때문에 위의 코드 는 자동 으로 를 호출 합 니 다.get()과set()방법 은 봉 인 된 개인 구성원 을 직접 액세스 하 는 데 도움 을 줍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java get 요청과post 요청 예시 보내기텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.