наследование свойств в php

У меня есть суперкласс, который содержит свойства и методы их настройки

class Super{ private $property; function __construct($set){ $this->property = $set; } } 

то у меня есть подкласс, который должен использовать это свойство

 class Sub extends Super{ private $sub_property function __construct(){ parent::__construct(); $this->sub_property = $this->property; } } 

но я продолжаю получать ошибку

 Notice: Undefined property: Sub::$property in sub.php on line 7 

где я иду не так?

Ошибка говорит о том, что она пытается найти локальную переменную с именем $ property, которая не существует.

Чтобы ссылаться на $ property в контексте объекта, как вы и предполагали, вам нужно $this и стрелка.

 $this->sub_property = $this->property; 

во-вторых, строка, указанная выше, завершится неудачно, так как $property является private классу Super . Вместо этого сделайте его protected , так что он унаследован.

 protected $property; 

В-третьих, (спасибо Merijn, я пропустил это), Sub должен расширить Super.

 class Sub extends Super 

Вам нужно сделать защиту $ sub_property вместо частной.

Вам также необходимо указать, что подкласс простирается от суперкласса:

 class Sub extends Super { // code }