접근할 수 없는 속성을 삭제하기 위해 unset() 함수가 호출될 때 PHP 매직 메서드 __unset()가 호출되며, 속성의 이름을 표현하는 매개변수를 받습니다.
권장: "PHP 비디오 튜토리얼"
속성 오버로드: 존재하지 않거나 권한이 부족한 속성에 액세스할 때 속성 오버로딩이라고 하는 일련의 매직 메소드가 트리거될 수 있습니다.
__unset ()는 접근할 수 없는 속성을 파괴하기 위해 unset() 함수를 호출할 때 호출되며, 속성의 이름을 나타내는 매개변수를 받습니다.
<?php //属性重载 class Person{ //属性 public $name; private $age; //构造方法 public function __construct($name,$age) { $this->name = $name; $this->age = $age; } //增加__unset方法,没有返回值 public function __unset($name){ $allow = array('age'); //判断 if(in_array($name,$allow)){ //如果允许删除,就帮助其删除 unset($this->$name); } } } echo '<pre class="brush:php;toolbar:false">'; //实例化 $person = new Person('方智',19); var_dump($person); //删除属性 //unset($person->name); //公有属性可以直接被unset掉 //var_dump($person); //unset私有属性 unset($person->age); var_dump($person); unset($person->tail);
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 소개를 방문하세요! !
위 내용은 PHP 매직 메소드 __unset()은 언제 호출됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!