致命错误:访问未申报的静态属性:
问题描述:
我写了其中第二扩展的第一个两班,当我尝试使用它,我得到这个错误:致命错误:访问未申报的静态属性:
致命错误:访问未申报的静态属性:
代码逻辑:
class foo
{
public static function fooFunc()
{
return self::$fooVar;
}
}
class bar extends foo
{
protected static $fooVar = 'Hello World';
}
bar::fooFunc();
如何使它工作?
答
Futhermore增加一个“默认变量”的
与static
更换self
:
class foo
{
public static function fooFunc()
{
return static::$fooVar;
}
}
class bar extends foo
{
protected static $fooVar = 'Hello World';
}
bar::fooFunc();
Futhermore增加一个“默认变量”的
foo
类是在您忘记在子类中定义的静态变量是一个好主意:
class foo
{
protected static $fooVar = 'Default Text';
public static function fooFunc()
{
return static::$fooVar;
}
}
在父类中声明'$ fooVar'作为公共静态变量。 – Ohgodwhy 2014-09-24 19:00:22
富是一个父类,它应该怎么知道里面的酒吧? – 2014-09-24 19:02:08