php面向对象之__isset和__unset
php面向对象之__isset和__unset
一、简介
__isset和__unset都是对不可访问属性的操作,前者是检验的时候自动调用,后者是销毁的时候自动调用。
比如说在类外访问private的时候就会出现不可访问属性。
二、代码
1 <?php 2 /* 3 * __isset:当外部调用isset()函数检测不可访问的属性或者不存在的属性时自动调用 4 __unset:当在类外部调用unset销毁不可访问属性时自动调用 5 * */ 6 class Person{ 7 private $userName; 8 private $age; 9 public $abc; 10 public function __construct($userName,$age){ 11 $this->userName = $userName; 12 $this->age = $age; 13 } 14 public function __isset($name){ 15 echo '当外部调用isset()函数检测不可访问的属性或者不存在的属性时自动调用'; 16 return isset($name); 17 } 18 public function __unset($name){ 19 echo '当在类外部调用unset销毁不可访问属性时自动调用'; 20 unset($name); 21 } 22 } 23 $p = new Person('Clive',15); 24 var_dump(isset($p->abc)); 25 echo '<hr/>'; 26 unset($p->abc);
调用public属性,也就是可访问属性的时候,__isset和__unset都不会被访问到。
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
在校每年国奖、每年专业第一,加拿大留学,先后工作于华东师范大学和香港教育大学。
2024-10-30:27岁,宅加太忙,特此在网上找女朋友,坐标上海,非诚勿扰,vx:fan404006308
AI交流资料群:753014672