有时候为了安全,我们需要把把类的属性定义为private。但是,但是我们有时候却需要去操作这些私有成员变量,如果直接访问是会报错的,因此在PHP5中,预定义了两个函数“__get()”和“__set()”来为私有成员变量赋值和获取值,以及检查属性的“__isset()”和删除属性的方法“__unset()”。
在
PHP5
中给我们提供了专门为私有成员变量设置值和获取值的方法,“
__set()
”和“
__get()
”这两个方法,这两个方法不是默认存在的,
而是我们手工添加到类里面去的,像构造方法
(__construct())
一样
,
类里面添加了才会存在,可以按下面的方式来添加这两个方法,当然也可以按个人的风格来添加:
//__get()
方法用来获取私有属性
private function
__get(
$
property_name
)
{
if
(
isset
(
$
this
->
$
property_name
))
{
return
(
$
this
->
$
property_name
);
}
else
{
return
(
NULL
);
}
}
//__set()
方法用来设置私有属性
private function
__set(
$
property_name
,
$
value
)
{
$
this
->
$
property_name
=
$
value
;
}
有了这2个方法以后,就可以直接执行:
echo $instance->$property
或
$instance->$property = “a”;
来获取和修改private变量的值了,如果没有手动添加__get();和__set();方法则会报错,
因为我们要访问的是私有变量。