PHP7 在 Netbeans 8 中为 static class 定义静态变量

PHP7 define static variable for static class in Netbeans 8

我使用 Netbeans 8 最新版本编辑 PHP 7 代码(因为 Netbeans 8.1 仍然不支持 PHP 7),但是 Netbeans IDE 说我做错了。正确的方法是什么:

<?php

class helloc {
    public static $first = 1;
}

class mainc {
    public static $another = NULL;

    public function example() {
        self::$another = new helloc();
        self::$another::$first = 2;
        echo self::$another::$first;
    }
}

$n = new mainc();
$n->example();

?>

NetBeans IDE Dev(Build 201605100002),PHP7 表示此行的错误:

self::$another::$first = 2;

unexpected ::

此外,这一行也有错误:

echo self::$another::$first; unexpected ::

这个的正确用法是什么? 如果我启动此代码,它会正常运行。没关系?还是 Netbeans IDE 错误?

如何声明 $another 变量? NULL 可以吗?还是其他方式? 在此示例中,我想将 $another 声明为 static "helloc" class 。 我想从这个静态 class 访问变量。我知道,我可以声明一个 get/set 函数,它确实更好,但另一个问题是什么更好。

我只想创建一个合适的 PHP7 代码。

更新 1,可能针对我自己的问题的解决方案:

class helloc {
    public static $first = 1;
    public $last = 3;
}

class mainc {
    public $another = NULL;
    public function example() {
        helloc::$first = 2;
        echo helloc::$first;
        $this->another = new helloc();
        $this->another->last = 4;
        echo $this->another->last;
    }
}

$n = new mainc();
$n->example();

那么,如果 class 中有静态变量和非静态变量,这就是 PHP7 的正确用法吗?

访问静态变量,不需要用new()。 对于非static需要用new()创建,对吧?