php常见魔术方法
__construct():构造函数,此函数会在创建一个类的实例时自动调用。

__destruct():析构函数,此函数会在对象的所有引用都被删除或者类被销毁的时候自动调用。

__sleep():执行serialize()函数之前,会检查类中是否存在_sleep()方法。如果存在,该方法会先被调用。

__wakeup():执行unserialize()函数之前,会检查类中是否存在_wakeup()方法。如果存在,则会先调用_wakeup()方法,预先准备对象需要的资源。

__toString():当一个对象被当作一个字符串使用时被调用。例如echo $obj或者拼接字符串时;此方法必须返回一个字符串,否则会产生 E_RECOVERABLE_ERROR 级别的错误。

__get():在读取不可访问的属性值的时候,此魔法函数会自动调用。

__call():在调用未定义的方法时被调用。

__callStatic():在静态上下文中调用不可访问的方法时触发

__set():用于将数据写入不可访问的属性

__isset():在不可访问的属性上调用isset()或empty()触发

__unset():在不可访问的属性上使用unset()时触发

__invoke() :当尝试将对象调用为函数时触发