background image

7.__isset() 判断类中私有属性或方法是否存在时自动调用
首先我们先介绍一下

isset 方法,该方法用于判定属性和方法是否存在,但是我们无法通过

类类实例判断类中的某个私有属性是否存在

 

如果我们使用

isset(per->

$name

);

//返回值是 false,但是$name 属性的确存在,怎么解决呢?

解决方法:
1.将

$name

定义为私有属性

2.在类定义中添加
代码如下

:

 
Function __isset(

$proName

)

{
Return  isset(this->

$proName

;

//再类内部是可以访问私有属性的

}
 
这样的话我们再次调用

isset(

$name

);返回值就为 true 了;

8.__unset()清除类中私有变量时自动调用
与之结合的是

unset() unset 方法可以删除属性,当我们需要删除类中属性的时候,如果

是公有属性我们可以直接
删除,但是如果是私有我们只通过该方法就无法实现了
怎样实现呢我们可以使用

__unset()方法实现该功能我们需要在类中添加

代码如下

:

 
Function __unset(

$proName

)

{
Unset(this->

$proName

);

}
 
现在我们再调用

unset(

$name

);就可以删除 person 类中的私有属性

$name