gpt4 book ai didi

php - 单例模式怎么样

转载 作者:行者123 更新时间:2023-12-01 19:44:47 26 4
gpt4 key购买 nike

我正在寻找有关单例模式的信息,我发现:http://www.php.net/manual/en/language.oop5.patterns.php#95196

我不明白:

final static public function getInstance()
{
static $instance = null;

return $instance ?: $instance = new static;
}

如果将$instance设置为null,为什么会出现这样的返回?为什么不在类的全局“空间”中创建$instance而不在getInstance中将其设置为null?

最佳答案

您无法使用非静态值启动类变量,因此

class X {
$instance = new SomeObj();
}

不允许。

您发布的代码是确保仅定义该类的一个实例的一种方法。

static $instance = null;

将创建变量并在第一次调用该方法时将其设置为null。之后,如果它被声明为静态,PHP 将忽略该行。

那么其他代码可以看如下:

if (isnull($instance)) {
... first time through this method, so instantiate the object
$instance = new someobj;
}
return $instance;

关于php - 单例模式怎么样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7956232/

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