gpt4 book ai didi

php - 在 PHP 中使用 __clone 吗?

转载 作者:行者123 更新时间:2023-12-02 23:35:56 26 4
gpt4 key购买 nike

我有一个类 a 并使用 new 实例化它

$obja = new a;

我知道下面两行之间的区别

$obja2 = $ojba;
$obja2 = clone $obja;

但是,即使您在类 a 中声明或未声明 __clone,第一行 $obja2 引用 $obja 内存空间,第二行创建 $obja 的副本。到这里我就清楚了。

那为什么php有一个神奇的方法__clone呢?难道只是为了执行$obja2 = clone $obja;时__clone里面写的一组代码吗?

请有人帮助更好地了解它。

最佳答案

void __clone ( void )

Once the cloning is complete, if a __clone() method is defined, then the newly created object's __clone() method will be called, to allow any necessary properties that need to be changed.

http://php.net/manual/en/language.oop5.cloning.php#object.clone

所以,是的,这是克隆操作完成后的回调。不多不少。

关于php - 在 PHP 中使用 __clone 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13970820/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com