我的类定义如下:
class FileSystem
{
private static $_instance = NULL;
private function __construct()
{
...
}
public static function getInstance()
{
if (self::$_instance === NULL) { // <- line 83
self::$_instance = new FileSystem;
}
return self::$_instance;
}
...
}
运行时出现的错误是:
未捕获的错误:访问未声明的静态属性: FileSystem :: $ _ instance在 / var / www / html /.../ FileSystem.php:83
运行代码的服务器具有php 7.1。
调用该类的方法在另一个类中
public function stream_close()
{
if (!is_resource($this->_stream)) {
return false;
}
FileSystem::getInstance()->fclose($this->_stream);
return true;
}
答案 0 :(得分:0)
您在问题中发布的代码应该可以正常工作。 发生这种错误的原因有一个,那就是当您不声明静态属性时,因此您的错误一定是您忘记保存了,或者您已经注释了该声明等等。