PHP5魔术方法小结

__construct(),__destruct(),__call(),__callStatic(),__get(),__set(),__isset(),__unset(),__sleep(),__wakeup(),__toString(),__invoke(),__set_state() 和 __clone() 等方法在 PHP 中被称为"魔术方法"(Magic methods)。在命名自己的类方法时不能使用这些方法名,除非是想使用其魔术功能。

__construct()__destruct() 构造函数和析构函数,一个在调用的时候设定默认值啦,或者是方便赋protected或者private的值,另一个在对象销毁前被调用,__destruct()内不能有任何参数。

在对象中调用一个不可访问方法时,__call() 会被调用。

用静态方式中调用一个不可访问方法时,__callStatic() 会被调用。参数由方法,数组组成。

__get(),__set(),一个可以外部调用的属性设为只读,一个只写,参数由成员属性名,成员属性的值组成。

__isset()__unset()在外部使用isset() unset()会调用这两个方法

__sleep()__wakeup()在串行化和反串行化调用输出

__toString()__invoke() __toString可以在echo 对象的时候调用输出字符串,以函数方法调用对象时会触发__invoke()

__clone() 不需要任何参数,当对象使用clone $xxx时被调用,原本对象的引用 $that-> 克隆对象$this->

__set_state() 当调用 var_export() 导出类时,此静态 方法会被调用。

植入部分

如果您觉得文章不错,可以通过赞助支持我。

如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。

标签: 知识

添加新评论