当isset方法return true时会调用__get()方法,且用empty判断时返回值都是1
当isset方法return true时会调用__get()方法,且用empty判断时返回值都是1



当isset方法return true时会调用__get()方法,且用empty判断时返回值都是1



2015-07-26
在第二张截图中 getting the property classname 这个值是从哪里来的啊
class MagicTest{
public function __get($name){
return "Getting the property".$name."<br/>";
}
public function __set($name,$value){
echo "setting the property".$name."to value".$value."<br/>";
}
public function __isset($name){
echo "__isset invoked<br/>";
return true;
}
public function __unset($name){
echo "unsetting property".$name."<br/>";
}
}
$obj=new MagicTest();
echo $obj->className."<br/>";
$obj->className="MagicClassX"."<br/>";
echo '$obj->className is set?'.isset($obj->className)."<br/>";
echo '$obj->className is empty?'.empty($obj->className)."<br/>";
unset($obj->className);按照我的写法 是正常显示的啊 你在试试
举报