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()创建,对吧?
我使用 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()创建,对吧?