gpt4 book ai didi

php - 如何限制单例类被克隆?

转载 作者:行者123 更新时间:2023-12-02 01:46:15 26 4
gpt4 key购买 nike

我知道如何在 php 中创建单例类。但我很困惑,如果我们能够克隆它,那么它就浪费了该类。

我可以知道如何限制单例类的克隆吗?请检查以下代码:

class DatabaseConnection {

private static $singleton_instance = null;

private function construct__() {
// Declaring the constructor as private ensures
// that this object is not created as a new intance
// outside of this class. Therefore you must use the
// global_instance function to create this object.
}

public static function global_instance() {
static $singleton_instance = null;
if($singleton_instance === null) {
$singleton_instance = new DatabaseConnection();
}

return($singleton_instance);
}
}

最佳答案

只需将您的函数 __clone() 设为私有(private)即可。

private function __clone() { }

如果您尝试访问它,它将抛出 fatal error

关于php - 如何限制单例类被克隆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25520660/

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