自从php进入5.0版本以来,php全面支持面向对象编程,使其开发更加高效。同时,它还引入了一个新的概念->magicmethod,一种以__开头的预定义方法,可以帮助我们更高效地开发程序。1.__construct()构造方法,对象实例化,让函数初始化。2.__destruct()析构函数,对象释放前调用的最后一个函数,释放存储在内存中的数据。3.__set()当对象中的成员是私有属性时,该方法可以直接设置成员属性的值4.__get()当对象中的成员是私有属性时,该方法可以读取成员属性的值成员属性5.__isset()检查对象中的私有属性是否存在6.__unset()直接删除对象中的私有属性7.__call()当对象调用类中不存在的方法时,可以通过类中的__call()方法调用进行错误处理,防止程序报错终止8.__toString()对象输出时调用该方法。例如,echo$对象;否则,会发生致命错误。9.__clone()当我们克隆一个对象时,我们可以通过__clone()方法中的$this关键字来初始化克隆的对象,而$that关键字可以对原始对象进行操作。10.__autoload()是类中没有使用的众多魔法方法中唯一的一个。该方法可以自动加载exampleone.class.phptwo.class.phpthree.class.phptest.php执行test.php文件会自动包含以上三个文件。11.__sleep()当我们序列化一个对象(serialize())时,会自动调用这个函数,并在这个方法中返回一个数组。如果数组有多个成员,则对这几个成员进行序列化。12.__wakeup()当我们反序列化一个二进制文件(unserialize())时,会自动调用这个函数,自动调用这个函数来初始化反序列化生成的对象。13.__debuginfo()打印调试信息。此方法只适用于php5.6以上版本。还有很多魔术方法作者没有介绍。如果读者有兴趣,可以参考php手册自学。php在线手册
