PHP中以两个下划线"__"开头的方法被称为魔术方法。如__construct()、__destruct()、__clone()。
1、__set()和__get()方法对私有成员进行赋值或者获取值的操作。(不需要主动调用)
2、__isset()和__unset():当在类的外部使用isset()函数检测对象中的私有成员属性时,就会自动调用类中的"__isset()"方法完成对私有成员属性的检测操作。__unset()方法帮助unset()函数在类的外部删除指定的私有成员属性。
bool __isset(string name)
void __unset(string name)
3、__call()方法:当程序试图调用不存在或不可见的成员方法时,PHP会先调用__call()方法来存储方法名及其参数。__call()方法包含两个参数,即方法名和方法参数,其中,方法参数是以数组形式存在的。
4、__toString()方法:当使用echo或print输出对象时,将对象转化为字符串。如果没有__toString()方法,直接输出对象将会发生致命错误。输出对象时应注意:echo或print后直接跟要输出的对象,中间不要有任何多余的字符。
5、__autoload():自动实例化需要使用的类。