PHP魔术方法

php中的魔术方法有construct(), destruct(), call(), callStatic(), get(), set(), isset(), unset(), sleep(), wakeup(), toString(), invoke(), set_state(), clone() 和 __debugInfo() 等方法在 PHP 中被称为”魔术方法”(Magic methods)。在命名自己的类方法时不能使用这些方法名,除非是想使用其魔术功能。

__get/__set 类的属性魔术方法,当外部访问私有或者未定义属性时自动调用
__call/__callStatic 类的方法魔术方法,当外部访问私有或者未定义方法以及静态方法的时候自动调用 __callStatic也必须声明为static
__toString 将类的对象当成字符串使用时自动调用
__invoke 将类的对象当成函数使用时自动调用