上QQ阅读APP看书,第一时间看更新
5.1 魔术方法
简言之,魔术方法是以双下画线开头的方法。它类似于钩子函数,当执行类的特定方法时被唤起。例如__construct()是构造函数,当示例化对象时被调用;__destruct()是析构函数,当对象被销毁时调用。在对象中调用一个不可访问方法时,__call()会被调用。用静态方式调用一个不可访问方法时,__callStatic()会被调用。
PHP将所有以__(两个下画线)开头的类方法保留为魔术方法。关于PHP的魔术方法如表5-1所示。
表5-1 PHP魔术方法
以上方法在PHP中被称为“魔术方法”(Magic methods)。在命名自己的类方法时不能使用这些方法名,只能为使用其魔术功能而实现魔术方法。
面试题:理解魔术方法
题目描述1:什么是魔术方法?
解答:魔术方法是以双下画线开头的方法。它类似于钩子函数,当执行类的特定方法时被唤起。
题目描述2:写出几个魔术方法,并指出什么情况下被调用/有什么用途。
答案见“表5-1 PHP魔术方法”。