2023-05-12 开启多语言插件支持……

PHP类中的魔术方法

php 苏 demo 2067℃ 0评论

定义: PHP类中以两个下画线“__”开头的方法被称为魔术方法。

分类: 例如:构造方法:

__construct;析构方法:

__destruct;动态重载:

__set()、

__get()、

__call()、

__callStatic();

对象的克隆:

__clone()

应用场景:

1、当程序试图修改一个不存在或不可见的类属性时,PHP引擎将会调用__set()方法,当然前提是该方法在类中被定义。

__set()的定义格式如下: function __set($name,$value){ //实现细节 } 其中,$name是动态创建的变量名,$value是该变量的值。

2、当程序试图读取一个不存在或不可见的类属性时,PHP引擎将会调用__get()方法,当然前提是该方法在类中被定义。

__get()的定义格式如下: function __get($name){ //实现细节 } 其中,$name是动态创建的变量名。

3、当程序试图调用一个不存在或不可见的类方法时,PHP引擎将会调用__call()方法,当然前提是该方法在类中被定义。

__call()方法的定义格式如下: function __call($name,$args){ //实现细节 } 其中,$name是动态创建的方法名,$args是该方法的参数,以数组的形式存在。

4、从PHP5.3.0开始,可以使用__callStatic()动态创建静态方法。

__callStatic()的定义格式如下: function __callStatic($name,$args){ //实现细节 } 其中,$name是动态创建的方法名,$args是该方法的参数,以数组的形式存在。

5、__clone()方法一旦被定义,类在被复制时就会自动调用它,这样我们就可以在__clone()方法中给引用属性重新开辟内存

。__clone()定义格式如下: function __clone(){ //实现细节 }

打赏

转载请注明:苏demo的别样人生 » PHP类中的魔术方法

   如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。
支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!
喜欢 (0)or分享 (0)