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都不会被访问到。

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/8546928.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值