php怎么修改private-LMLPHP

本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑

PHP如何修改和获取private变量的值

有时候为了安全,我们需要把把类的属性定义为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();方法则会报错,

因为我们要访问的是私有变量。

【推荐学习:PHP视频教程

以上就是php怎么修改private的详细内容,更多请关注Work网其它相关文章!

08-16 10:30