我有一个类,它有一些静态的,一些不是静态的方法。它有一个静态属性。我试图在其所有方法中访问该属性,我无法弄清楚正确的语法。
我拥有的是:
class myClass {
static public $mode = 'write';
static public function getMode() {
return myClass::$mode;
}
public function getThisMode() {
return $this->mode;
}
}
有谁能告诉我这个的实际语法?
答案 0 :(得分:20)
对于静态属性,即使在非静态函数
中也使用以下内容return self::$mode;
原因是因为无论对象是否已被实例化,都存在静态属性。因此,我们只是使用相同的预先存在的财产。
答案 1 :(得分:4)
如果您不在课堂上,请确保不要忘记$
,否则您也会看到此错误。例如,请务必像这样调用它:
$myClass = new myClass();
echo $myClass::$mode;
不喜欢这样:
echo $myClass::mode;