use*_*597 0 php reference object
例如,我有以下课程.
class A { public $foo = 1; } $a = new A; $b = $a; // a copy of the same identifier (NB)
根据当前的PHP文档,制作了一个标识符的副本,这种情况一直如此吗?如果不是,它什么时候改变了?
Joh*_*nde 7
情况并非总是如此.在PHP4中,在分配给新变量时复制了一个对象.当PHP5被引入时,这改变为传递被分配对象的引用.
(来自手册)
在PHP 5中有一个新的对象模型.PHP对对象的处理已经完全重写,允许更好的性能和更多的功能.在以前的PHP版本中,对象的处理方式与原始类型(例如整数和字符串)相同.这种方法的缺点是语义上整个对象在分配变量时被复制,或者作为参数传递给方法.在新方法中,对象由句柄引用,而不是由值引用(可以将句柄视为对象的标识符).
归档时间:
11 年,3 月 前
查看次数:
34 次
最近记录: