PHP 魔术方法:__get __set

原创
2016-08-08 09:33:08 847浏览

从php5以后的版本,类就可以使用魔术方法了。php规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开 头,除非是为了重载已有的魔术方法。

目前php已有的魔术方法有 __construct,__destruct,__call,__get,__set,__isset,__unset,__sleep,__wakeup,__toString,__set_state 和 __clone。

本节将谈谈__get,__set的使用方法:

__get()  - 读取不可访问属性的值时,__get() 会被调用

__set()  - 在给不可访问属性赋值时,__set() 会被调用

';
echo $example->public."\n";
echo $example->protected."\n";
echo $example->private."\n";
echo $example->other."\n";
echo '
'; $example->public = 'lic'; //这个赋值成功所有没有显示 $example->protected = 'tec'; $example->private = 'vat'; $example->other = 'er'; echo '
'; echo '打印 public 属性:'.$example->public;

结果如下:

pub
调用__get()方法:protected 调用__get()方法:private 调用__get()方法:other

name:protected,value:tec

name:private,value:vat

name:other,value:er

打印 public 属性:lic

以上就介绍了PHP 魔术方法:__get __set,包括了PHP 魔术方法方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。