我使用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代码。
答案 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()创建,对吧?