PHP の __clone() メソッドの 2 つの $this を説明するにはどうすればよいですか?どういう意味でしょうか?
リーリーPHP の __clone() メソッドの 2 つの $this を説明するにはどうすればよいですか?どういう意味でしょうか?
リーリー
__clone()
中没有两个$this
,只有一个$this
,这个$this
所指向的是克隆出来的新对象,因为__clone()
方法是在新对象中被调用的。
在执行克隆时,PHP会先进行一次浅复制,新建一个对象,将原对象中的属性全部复制到新对象中。对于对象、资源这类引用变量,只是复制它们的指针,而不会克隆它们。如果需要对这些属性进行深复制,则需要在__clone()
個別にクローンを作成します。
例:
ここで、2 つの $this->obj
都指的是新类的$obj
属性,因为克隆的时候新对象的$obj
已经从原对象浅复制过来了,这里只是因为我们要进行深复制,所以对$this->obj
が再度クローン作成を実行したことに注意してください。