코드 복사코드는 다음과 같습니다.
//__set() 메소드를 사용하여 개인 속성을 설정합니다
public function __set($name, $value){
$this->$name = $value
}
//__get() 메서드는 개인 속성을 얻는 데 사용됩니다.
공용 함수 __get($name){
return $this->$name
}
코드를 복사하세요코드는 다음과 같습니다.
class Person
{
//다음은 개인의 구성원 속성으로, 모두 캡슐화된 개인 구성원입니다.
private $name; //개인 이름
private $sex; 개인의 성별
private $age ; //개인의 나이
//__get() 메서드는 개인 속성을 얻는 데 사용됩니다.
개인 함수 __get($property_name)
{
echo " 개인 속성 값을 직접 얻을 때 자동으로 호출됩니다. 이 __get() 메서드를 얻었습니다
";
if(isset($this->$property_name))
{
return($this-> ;$property_name);
}
else
{
return(NULL);
}
}
//__set() 메소드는 개인 속성을 설정하는 데 사용됩니다
private function __set($property_name, $ value)
{
echo "비공개 속성의 값을 직접 설정할 때 이 __set() 메서드는 자동으로 호출되어 비공개 속성에 값을 할당합니다
" ;
$this->$property_name = $value;
}
}
$p1=newPerson()
//프라이빗 속성에 직접 값을 할당하는 경우 __set () 메소드는
$p1- >name="Zhang San"
$p1->sex="Male"
$p1->age=20;
//개인 속성 값을 직접 가져오면 자동으로 __get() 메서드가 호출되고 멤버 속성 값을 반환합니다.
echo "Name:".$p1->name."
echo "Gender:".$p1->sex. "
";
echo "Age:".$p1->age."
";
?>
프로그램 실행 결과:
private 속성의 값을 직접 설정할 때 __set() 메소드가 자동으로 호출되어 private 속성에 값을 할당합니다. attribute
private 속성의 값을 직접 설정할 때 이 __set() 메서드가 자동으로 호출되어 private 속성에 값을 할당합니다.
개인 속성 값을 가져오면 이 메서드가 자동으로 호출됩니다.
개인 속성 값을 직접 가져올 때 __get() 메서드가 자동으로 호출됩니다. 🎜>
이름: Zhang San
private 속성 값을 직접 가져올 때 __get() 메서드가 자동으로 호출됩니다.
성별: 남자
직접 가져오는 경우 private 속성 값을 설정하면 __get() 메서드가 자동으로 호출됩니다.
Age: 20
위 코드에 __get() 및 __set() 메서드를 추가하지 않으면 private 멤버는 클래스 외부에서 작동할 수 없기 때문에 프로그램이 잘못되고, 위 코드는 자동으로 호출하여 캡슐화된 private 멤버에 직접 액세스할 수 있도록 도와줍니다. __get() 및 __set() 메서드.
이 기사의 출처: http://www.jb51.net/article/37900.htm
위 내용은 관련 내용을 포함하여 PHP에서 __get 및 __set의 자세한 사용 예를 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.