$key; }">
时间:2021-07-01 10:21:17 帮助过:9人阅读
你的访问是通过公有的方法 __set、__get 进行的
你把他们去掉,看看还能访问私有的 domain 吗
你是通过__get 方法访问的。
__get是公用方法,所以可以被外部调用。
而类中方法调用私有变量是有权限的,所以__get方法调用private是可以。
如果你想不能访问,可以屏蔽__get和__set方法实现。
或者在__get,__set方法限制。
class nowamagic {private $domain; function __get($key){ if($key!='domain'){ return "使用get访问属性".$this->$key; } } function __set($key,$value){ if($key!='domain'){ $this->$key = $value; echo("使用set设置属性$key, 赋值为:$value"); } }}$ins = new nowamagic();$ins->domain = "nowamagic.net";echo '
';echo $ins->domain;
类里面的私有属性,不通过set get实现就可以。