Я создал абстрактный родительский класс и конкретный класс, который его расширяет. Почему родительский класс не может назвать абстрактную функцию?
//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