Я создал абстрактный родительский класс и конкретный класс, который его расширяет. Почему родительский класс не может назвать абстрактную функцию?
//foo.php
<?php
abstract class AbstractFoo{
abstract public static function foo();
public static function getFoo(){
return self::foo();//line 5
}
}
class ConcreteFoo extends AbstractFoo{
public static function foo(){
return "bar";
}
}
echo ConcreteFoo::getFoo();
?>
Ошибка:
Неустранимая ошибка: не удается вызвать абстрактный метод AbstractFoo:: foo() в foo.php в строке 5