Я Protected Variable UserId в Parent Class.i Собираюсь расширить переменную в моем классе ребенка, как показано нижеКак получить доступ к переменной в родительском классе, используя родительский метод ::
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 его печать fine.But, когда я использую родитель :: $ UserId его отображение ошибки
Фатальная ошибка: Доступ к необъявленной статического свойства: Главная :: $ UserName
Почему это не отображается для функции, которую я получил от parent :: SampleMethod(), поскольку функция не является статической.
Возможный дубликат [статическая функция php] (http://stackoverflow.com/questions/902909/php-static-function) – Alp
а также: [Вызов нестатического метода с помощью «::»] (http: // stackoverflow.com/questions/3754786/calling-non-static-method-with) – Alp
'$ UserName' объявлен как статический, вам нужно получить к нему доступ, используя' static :: 'like' static :: $ UserName' – afarazit