实例化我就起浸染 定义过的就到定义过的这儿来,Steven 设置私有变量时,自动调用了这个__set()方法为私有变量赋值 定义过的就到定义过的这儿来,Steven nickname这个方法没有定义,跑到我这儿来了 Array ( [0] => peng ) 你输入的这个类的名子叫info isset()函数判断私有变量是不是被定义时,自动调用__isset() bool(true) 陕西 unset()函数删除一个私有变量时,自动调用__unset() isset()函数判断私有变量是不是被定义时,自动调用 __isset() 删除类对像,就到__destruct()这儿来
总结:
1,__set(),__get(),__isset(),__unset()可以归于一类,对付私有变量的赋值,取值,判断,删除操作。以赋值为例,$province是私有变量,$city是全局变量,赋值的时候,$province调用了__set()方法,而$city却没有调用__set()这个方法
2,__construct()布局函数,__destruct()析构函数,他们二个都是实例化类的时候就会产生,有一点不同,布局在最前面,析构函数在末了面。

3,当你调用了一个class中没有的方法时,肯定会报fatal error,如果有了__call()函数,就不会报错了。$info->nickname(\"大众tank\公众);class中并没有这个方法,但是他没有报错。传的参数是字符串,__call会把他转成数组。Array ( [0] => tank )
4,(string)$info;把$info这个obj逼迫转成字符串,从表面意思看是这个,但是实际上是调用__toString()的方法。
附几个PHP 的魔术常量: