gpt4 book ai didi

php - __construct 函数未按预期工作

转载 作者:行者123 更新时间:2023-12-04 05:47:02 24 4
gpt4 key购买 nike

我正在尝试为我的类(class)构建一个 __construct 函数。此函数应获取所有 $_REQUEST 值并将它们存储在一个数组中,以便以后可以通过 id 调用它们。问题是它不存储我的变量,我不知道为什么。

看到这是我第一次“认真”地尝试构造,这很可能是我的愚蠢。但我想知道那是什么。

Class Regex {

private static $requests = array();

function __construct() {
foreach($_REQUEST as $key => $value) {
self::$requests[$key] = array(
'value' => $value,
'status' => false,
'errorList' => array()
);
}
}



public static function preg($key, $rules) {
var_dump(self::$requests); // for test purpose
}
}

上面的结果是:array (size=0) empty

最佳答案

你甚至在调用构造函数吗?构造函数只有在显式调用或通过 new 关键字调用时才会被调用。

PHP 没有像 Java 那样的静态构造函数。

您必须确保在第一次访问 preg() 方法时填充数组:

public static function preg($key, $rules) {
if (empty(self::$requests)) {
foreach($_REQUEST as $key => $value) {
self::$requests[$key] = array(
'value' => $value,
'status' => false,
'errorList' => array()
);
}
}
var_dump(self::$requests); // for test purpose
}

关于php - __construct 函数未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26017150/

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