为什么在PHP中禁用对象克隆?

为什么在PHP中禁用对象克隆?,php,clone,Php,Clone,多年来,我在不同的PHP代码片段中看到有人禁用对象克隆,要么将\uu clone()设置为私有,要么使该方法抛出异常 我想知道人们为什么这样做。这只是在创建单例对象时,还是在其他情况下才是好的做法 谢谢这里有一个免费的提示来改善你的生活:永远不要使用单身。谢谢@tereško我知道这一点,我自己也不喜欢单身。但不管是好是坏,人们在开发WordPress插件时确实使用了它们。它们只是一种将您的内容封装在名称空间中的方法,而无需使用PHP名称空间特性。并非所有人都升级到了PHP5.3或更高版本。无论

多年来,我在不同的PHP代码片段中看到有人禁用对象克隆,要么将
\uu clone()
设置为私有,要么使该方法抛出异常

我想知道人们为什么这样做。这只是在创建单例对象时,还是在其他情况下才是好的做法


谢谢

这里有一个免费的提示来改善你的生活:永远不要使用单身。谢谢@tereško我知道这一点,我自己也不喜欢单身。但不管是好是坏,人们在开发WordPress插件时确实使用了它们。它们只是一种将您的内容封装在名称空间中的方法,而无需使用PHP名称空间特性。并非所有人都升级到了PHP5.3或更高版本。无论如何,我的问题是开放式的,因为我希望了解更多关于PHP克隆的知识,特别是在某些情况下(框架?),它可能会导致问题。谢谢。在合理编写的代码中,它不应该引起问题。我对此唯一的例外是获取外部资源(如数据库句柄或打开的文件)的任何东西,如果克隆,可能会带来麻烦。除此之外,我几乎想不出一个明智的理由来这样做。@deceze谢谢,这似乎是对我没有想到的问题的有效回答。你应该把这个写下来作为答案,这样我(和其他人)就可以投票了。