• PHP 设计模式 原型模式(Prototype)之深/浅拷贝


     
    看PHP 设计模式 原型模式(Prototype)时,衍生出一个扩展问题之 原型拷贝的浅拷贝和深拷贝问题(不管写Java还是写PHP还是写JS时都多多少少遇到过对象拷贝问题)
     
    比如写前端页面时,我有一个form表单的数据对象,假如这个对象既拿来做表单数据的展示,又会在保存时发送给后端,有一个时间字段created_time,后台需要接收时间戳格式,而表单样式中需要展示’2018-08-08 08:08:08’这样的字符串格式,如果直接需改为后端需要的格式,那修改过后,表单中展示的数据格式也会跟着改变,这时只需要将form表单数据对象拷贝一份出来,修改拷贝后的created_time字段,然后将拷贝后的数据对象发给后端
     
    // 浅拷贝 与 深拷贝(PHP)
     
    浅拷贝,如果对象中包含有对象,相当于赋值(=)操作,而对象的赋值操作只是他们都保存着同一个标识符的拷贝,这个标识符指向同一个对象的真正内容。
    PHP 手册  > 语言参考 > 类与对象:  http://php.net/manual/zh/language.oop5.references.php  ;里面描述的比较清楚 类与对象的内容
     
    深拷贝,可以在__clone()魔术函数中显示的clone() 对象, 这个时候就相当于复制了一份内容放在了另外一块内存空间
     
     

  • 相关阅读:
    [LeetCode]52. Bulls and Cows猜数字游戏
    [LeetCode]51. Ismorphic Strings同构字符串
    [LeetCode]50. Valid Anagram有效变位词
    [LettCode]49. Valid Sudoku有效数独
    [LeetCode]48. Word Pattern匹配模式
    Ubuntu 14.04中安装Sublime Text 3并使用SublimeClang插件
    [LeetCode]47. Integer to English Words整数的读法
    六度空间
    Saving James Bond
    列出图的连通集
  • 原文地址:https://www.cnblogs.com/liugx/p/9267806.html
Copyright © 2020-2023  润新知