我在使用子類靜態方法訪問父級(非靜態)屬性時遇到問題。我已經試過這些如下:如何在靜態方法中訪問父非靜態屬性,在PHP中?
class Parent
{
protected $nonStatic;
// Other methods and properties
}
class Child extends Parent
{
public static function staticFunc()
{
$test = $this->nonStatic; # Using $this when not in object context
$test = self::$nonStatic; # Access to undeclared static property
$test = parent::$nonStatic # Access to undeclared static property
}
}
我檢查了計算器類似的問題,但我沒有得到任何有效的解決方案
附:對不起錯別字,和上面的代碼是一個虛擬的例子
代碼,例如,提供,甚至沒有編譯。請確保您提供的代碼實際上以您期望的相同方式失敗。 – Charles
這裏有很多錯誤:不是'protect $ nonStatic;'但是'protected $ nonStatic;','$ this'這個用法在靜態上下文中...... –
那麼如果你從實際代碼中複製並粘貼了上面的代碼,問題是這個'protect $ nonStatic;'它應該是'protected $ nonStatic;'仔細檢查你粘貼的內容。 – PhearOfRayne