PHP7为Netbeans 8

时间:2016-05-10 15:29:43

标签: php class netbeans static php-7

我使用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();

?>

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

  

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

     

意外::

此外,这一行也有错误:

  

echo self :: $ another :: $ first;   意外::

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

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

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

1 个答案:

答案 0 :(得分:0)

更新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();

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

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