gpt4 book ai didi

php - 从单例类 PHP 中检索数据

转载 作者:搜寻专家 更新时间:2023-10-31 21:07:34 25 4
gpt4 key购买 nike

我试图存储要在后端传递的文件信息,因此我创建了一个带有静态数组和访问该数组的静态方法的单例类。

但是,在检索数据时,我只得到一个空数组。我哪里出错了?

class FileStore {

private static $_tempFileData = array();
private static $initialized = false;

private function __construct() {}

private static function initialize() {
if (self::$initialized)
return;
self::$initialized = true;
}

public static function storeTempFileData($data) {
self::initialize();
self::$_tempFileData[] = $data;
}

public static function getTempFileData() {
self::initialize();
return self::$_tempFileData;
}

public static function clearTempFileData() {
self::initialize();
unset(self::$_tempFileData);
}
}

最佳答案

首先,这不是单例,而是静态类。单例假设创建一个类的实例。

在您的代码中,我看到 storeTempFileData 将一个值附加到静态变量,但 getTempFileData 不返回相同的值 - 它返回一个数组。

还有一个问题 - 在您取消设置 self::$_tempFileData 之后,它不再是一个数组。所以 self::$_tempFileData[] = $data; 会触发通知。

基本上我认为您需要将 self::$_tempFileData[] = $data; 更改为 self::$_tempFileData = $data;

关于php - 从单例类 PHP 中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29898886/

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