Ваша проблема заключается в том, что переменная $year в классе Class1 объявлена как protected, что означает, что она доступна только внутри класса и его наследников. Однако, вы пытаетесь получить доступ к этой переменной извне класса Class2 в методе getYear().
Чтобы исправить эту проблему, вы можете изменить модификатор доступа переменной $year на public в классе Class1. Таким образом, переменная будет доступна и извне класса и ее наследников.
class Class1{ public $year = 1; public function setYear($year){ $this->year = $year; } } class Class2 extends Class1{ public function getYear(){ return $this->year; } } $class1 = new Class1(); $class1->setYear(2018); $class2 = new Class2(); echo $class2->getYear(); // 2018
После внесения указанных изменений ваш код должен работать корректно и вы сможете получить доступ к переменной $year из класса Class2.
Ваша проблема заключается в том, что переменная $year в классе Class1 объявлена как protected, что означает, что она доступна только внутри класса и его наследников. Однако, вы пытаетесь получить доступ к этой переменной извне класса Class2 в методе getYear().
Чтобы исправить эту проблему, вы можете изменить модификатор доступа переменной $year на public в классе Class1. Таким образом, переменная будет доступна и извне класса и ее наследников.
class Class1{public $year = 1;
public function setYear($year){
$this->year = $year;
}
}
class Class2 extends Class1{
public function getYear(){
return $this->year;
}
}
$class1 = new Class1();
$class1->setYear(2018);
$class2 = new Class2();
echo $class2->getYear(); // 2018
После внесения указанных изменений ваш код должен работать корректно и вы сможете получить доступ к переменной $year из класса Class2.