1.应用场景
了解PHP对象的用法,合理使用其进行开发. |
2.学习/操作
1. 文档
2. 整理输出2.1 PHP对象到底是值传递还是引用传递见手册
下面通过一些例子来说明。
在 PHP 5,一个对象变量已经不再保存整个对象的值。 只是保存一个标识符来访问真正的对象内容。 当对象作为参数传递,作为结果返回,或者赋值给另外一个变量,另外一个变量跟原来的不是引用的关系,只是他们都保存着同一个标识符的拷贝,这个标识符指向同一个对象的真正内容。
手册上例子,这里省略. 代码执行情况:
网友一对象在函数中是引用传递,即使赋值给其它变量,也是引用,但是改变了$a的类型,准确的说是zval.value指针都变化了,所以此时产生了分裂。 所以,尽量避免函数内操作外部对象,否则有可能造成致命性的逻辑错误,特别是改变对象数据的时候。 网友二$a和$b是同一个标示符的拷贝,都是指向同一个对象A,所以你改变$a或者$b的属性, 其实也就是改变的同一个对象A的属性,但是$a和$b是两个不同的变量,他们两个不是引用关系。
网友三其实 而当你设置了 关键点
个人建议
后续补充 ... |
3.问题/补充
TBD |
4.参考
https://segmentfault.com/q/1010000010641993?_ea=2363326 // PHP对象到底是值传递还是引用传递 https://www.cnblogs.com/aademeng/articles/9194688.html // PHP中对象是按值传递还是按引用传递? |
后续补充
...