Я пытаюсь использовать в абстрактном классе неопределенную переменную, которая должна быть реализована дочерним классом.
Я пытался с абстрактными методами, но это не сработало.
abstract class AbstractClass {
protected abstract function foo($data);
public function __construct($param) {
self::foo($param);
}
}
class ConcreteClass extends AbstractClass {
public $propertie;
protected function foo($data) {
$this->propertie = $data;
}
}
$fa = new ConcreteClass('banana');
echo $fa->propertie;
Но это результат:
Неустранимая ошибка PHP: не удается вызвать абстрактный метод AbstractClass :: foo () в папке / folder / File.php в строке 7