我简化了我的课程以更好地理解。为什么Method2给我错误的错误:: $ dbconn为null?删除__desctruc((时,它可以正常工作?
我称其为:
$test = new TestCtrl();
$test->getList(123);
...
class TestCtrl {
private static $dbconn;
function __construct(){
self::$dbconn = 'assume this is my db connection...';
}
function __destruct() {
self::$dbconn = null;
}
private function method1($contact){
$metas = self::method2();
return $metas;
}
private static function method2(){
$res = self::$dbconn;
return $res;
}
public function getList($contact){
return self::method1($contact);
}
}
,因为您已将$ dbconn声明为静态,因此已将其设置为呼叫之间的原始值。将其更改为非静态变量,并且应该可以正常工作。