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
了