PHP是一门非常优秀的脚本编程语言,与其它编程语言有一个非常不同的地方,那就是魔术方法,PHP有非常多的魔术方法用于实现一些非常不可思议的功能。
啥是PHP的魔术方法?
在定义类时,以两个下划线字符(__)开头的方法都是魔术方法,而且方法名都是PHP预先定义好的,每一个都拥有魔术般的功能。我们自己在定义方法时,不建议使用两个下划线字符开头,这样会与PHP的魔术方法混淆。
PHP有哪些魔术方法?
PHP提供了非常多的魔术方法,比如: __construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 等等,今天我来给大家说说其中非常实用的5个。
第1:__construct()构造方法
执行时机:在使用 new关键字使用类实例化一个对象时自动执行
功能作用:通常用于对对象的属性进行初始化
用法示例:
如何记住:construct 含义:构成;修建;建造;读音:[kənˈstrʌkt] ,可以理解为构造对象的方法,在构造对象时自动执行。
第2:__destruct()析构方法
执行时机:在对象被销毁(unset或PHP执行结束)时自动执行
功能作用:通常用于释放对象占用的第三方资源(如:数据库)
用法示例:
如何记住:destruct 含义:破坏;破坏的;读音:[dɪ'strʌkt]
第3:__toString()转换字符串
执行时机:在对象被当成字符串使用时自动执行
功能作用:兼容对象的字符串调用形式,根据用户需求显示出对象的字符串形态
用法示例:
如何记住:toString 含义:to到;向,朝着; String字符串; 读音:[tu,tə] [strɪŋ]
第4:__invoke()函数调用方法
执行时机:在对象被当成函数使用时自动执行
功能作用:兼容对象的函数调用形式,允许用户像使用函数一样使用对象
用法示例:
如何记住:invoke 含义:援引;乞灵;祈求;读音:[ɪnˈvoʊk]
第5:__clone()克隆方法
执行时机:在克隆(clone)对象时自动执行
功能作用:在克隆对象时可以同时执行一些其它操作,甚至可以阻止对象被克隆
用法示例:
如何记住:clone 含义:复制;克隆;读音:[kloʊn]
总述
PHP提供了很多这样的魔术方法,他们都有神奇的功能,在做相应的操作时都会自动执行,由于时间关系我们本次就只能盘点PHP这5大魔术方法及其功能作用,如果对本次总结的魔术方法或其它的PHP魔术方法有疑惑也可以随时来源码时代一起讨论交流哦。
网友评论