面向对象中的常用魔术方法
发布日期:2021-10-24 14:20:25 浏览次数:2 分类:技术文章

本文共 910 字,大约阅读时间需要 3 分钟。

__autoload($classname);这个魔术方法与其他魔术方法不同的是,它不是在类中使用的,其他都是在类内部使用,只要在页面中用到一个类,就会自动将这个类名传给这个函数的参数。在开发中用它来自动加载类。

__sleep():是在对象序列化也叫串行化时,自动调用的方法,因为对象序列化的时候serialize($object),如果类里不加这个魔术方法,会自动将类中的所有属性全部序列化,如果只想让某些属性被序列化,就要用到这个方法,这个方法返回一个由类的属性组成的数组。序列哪个属性就将那个属性放到数组中。作用:将对象部分序列化。

function __sleep(){return array('name','age');}序列化名字和年龄两个属性,序列化哪个属性就在__sleep方法里返回一个包含该属性的数组。

$str  = serialize($object)//将对象序列化成二进制的字符串。

$newobject = unserialize($str);//将二进制的字符串转成一个新的对象,这个新对象拥有原来那个对象的属性和方法。

__wakeup():在反序列化的时候,自动调用的方法,因为在对象反序列化的时候会诞生一个新的对象,而每诞生一个新的对象,一般都要将这个对象初始化(当然不是必须的,视情况而定),所以这个魔术方法的作用就是将新诞生的对象进行初始化。

__clone():在克隆对象的时候自动调用的方法,这个方法中的$this指的是刚被克隆出来的对象,这个魔术方法也是用来给新克隆出的对象进行初始化的。$that指原来那个对象但不好使。

__call($fnName,args):当对象在外部调用类中不存在的方法时自动调用,处理一些不存在方法的错误调用,这个方法接受两个参数,第一个参数为访问不存在的方法名,第二个参数为不存在的方法的参数数组。

__toString():直接输出对象引用时自动调用,因为对象不能在类里直接使用,用来快速获取对象字符串表示的最快捷方式。

转载于:https://www.cnblogs.com/toward-the-sun/p/3919533.html

转载地址:https://blog.csdn.net/weixin_30791095/article/details/97953974 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:架构实践(转)
下一篇:css3动画效果

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月03日 18时21分31秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

让人茅塞顿开!这次被它搞惨了!已开源 2019-04-28
程序员开发指南!裁员被逼啃透Java22个技术点,人生转折! 2019-04-28
程序员必会知识!分布式架构+RPC+kafka+多线程,极其重要 2019-04-28
程序员必学!数据对象的底层实现方式你都了解吗?知乎上转疯了! 2019-04-28
程序员必须要了解的知识点!海归硕士面试3家大厂挂了2家,附面试题答案 2019-04-28
程序员的中年危机,自定义组件如何注入Spring底层的组件?灵魂拷问 2019-04-28
腾讯T3大佬亲自教你!差点挂在第四面,看完这篇彻底明白了 2019-04-28
腾讯T3大佬亲自讲解!超过500人面试阿里,成长路线图 2019-04-28
腾讯T3大牛手把手教你!和字节跳动大牛的技术面谈,给大家安排上! 2019-04-28
腾讯T3手把手教你!全面展示线程内存模型的能力,全网独家首发! 2019-04-28
腾讯T3手把手教你!渣本二面阿里受挫,最终入职阿里 2019-04-28
玩转MySQL:60分钟快速掌握RabbitMQ,BAT大厂面试总结 2019-04-28
理解透彻!2面技术+HR面+offer,顺利拿到offer 2019-04-28
疯狂膜拜!看完这篇文终于搞明白了,2021最新版! 2019-04-28
直面秋招!阿里面试官跟我死磕MySQL,面试必问 2019-04-28
看了这篇文章我才真正理解了!海归硕士面试3家大厂挂了2家,涨姿势了! 2019-04-28
看完全都会了!拼多多三面惨败,社招面试心得 2019-04-28
【深夜思考】字节跳动Java三面凉凉,万字长文! 2019-04-28
【深度思考】字节跳动算法工程师面试总结,架构师必备技能 2019-04-28
【金三银四】最新阿里+头条+腾讯大厂Java笔试真题,使用指南 2019-04-28