親クラスで変数UserIdを保護しました。以下に示すように、子クラスで変数を拡張します。
class Main
{
protected $UserId = "151";
protected static $UserName = "Madhavan";
protected function SampleMethod()
{
print "This is Sample Method";
}
}
class SubMain extends Main
{
function __construct()
{
print parent::SampleMethod();
print "User Id is ".$this->UserId."<br/>";
print parent::$UserName;
print "User Id is ".parent::$UserId."<br/>";
}
}
$ this-> UserIdを使用すると印刷は正常になりますが、Parent ::$UserIdを使用すると表示エラーが発生します
致命的なエラー:宣言されていない静的プロパティへのアクセス:Main :: $ UserName
関数が静的ではないため、 parent :: SampleMethod()によってアクセスされた関数に対して表示されないのはなぜですか。