PHP中的小问题 PHP 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为什么我用unset($per1->sex);删除掉类中的sex变量,然后输出是这个变量是保密unset($per1->sex); 后 $per1中没有sex这个属性了,当调用display时,会触发__get方法。在__get方法中,if($propertyName == "sex"){ return "保密";}所以会输出保密。如果删除掉unset($per1->name);的name变量,输出的是空。这个是把 private $name; 这句删除对吗?private $name删除后,会执行__construct() 中的 $this->name = $name; 因为Person没有$name这个属性,所以会调用__set方法,而__set方法中,只有propertyName==sex的处理方法,所以执行完__set后,Person还是没有$name属性。display时,因为没有$this->name,所以会调用__get方法。而__get方法对name的处理是返回$this->name。所以为空了。如果想$name不为空,可以在__set方法中加入 if ($propertyName == 'name'){ $this->name = '111'; }这样就可以输出姓名:111年龄:23岁性别:男 unset($per1->sex)这样会删除掉$sex变量因为类中没有这个变量了,如果你再调用,会执行__get. smarty 如何查看版本信息?? flash聊天室和ajax聊天室本质一样吗?占用cpu资源大吗?? 关于MYSQL 查询 的问题。 Zend Studio为什么写错误的代码不报错 smarty 的if 和section问题 请问各位这个加密如何解开 这个语句怎么写 那位高人帮个忙!!!在线等... ... php与简单的安全问题 如何实现页面保护 mysql查询索引能提高速度怎么做到的。。 Zend Studio安装:Could not open key
unset($per1->sex); 后 $per1中没有sex这个属性了,当调用display时,会触发__get方法。
在__get方法中,
if($propertyName == "sex"){
return "保密";
}
所以会输出保密。如果删除掉unset($per1->name);的name变量,输出的是空。
这个是把 private $name; 这句删除对吗?
private $name删除后,会执行__construct() 中的 $this->name = $name; 因为Person没有$name这个属性,所以会调用__set方法,而__set方法中,只有propertyName==sex的处理方法,所以执行完__set后,Person还是没有$name属性。
display时,因为没有$this->name,所以会调用__get方法。而__get方法对name的处理是返回$this->name。所以为空了。如果想$name不为空,可以在__set方法中加入
if ($propertyName == 'name'){
$this->name = '111';
}这样就可以输出
姓名:111
年龄:23岁
性别:男
这样会删除掉$sex变量
因为类中没有这个变量了,如果你再调用,会执行__get.