- 常见的魔术方法
void __set(string name, mixed value):为私有属性赋值时自动调用
mixed __get(string name):获取私有属性的值自动调用
bool __isset(string name):测定私有属性是否存在时,由isset()自动调用
void __unset(string name):删除私有属性时,由unset()自动调用
string __toString():输出对象引用时自动调用
mixed __call(string name, array args):用户调用对象中不存在的方法时自动调用
void __autoload(class name):全局函数,非类中声明。当使用到未组织到的类时,以该类名为参数自动调用
array __sleep():以数据组的形式返回需要串行化的属性,详见“对象串行化”
void __wakeup():详见“对象串行化”
- 对象串行化
调用serialize()函数将对象串行化时,会自动调用对象中的__sleep()方法,用来将对象中的部分成员串行化;
调用unserialize()函数反串行化对象时,会自动调用对象中的__wakeup()方法,用来在二进制串重新组成一个对象时,为新对象中的成员属性重新初始化。