Подтвердить что ты не робот

Пустая абстрактная функция не может содержать тело

Я пытаюсь создать абстрактный класс (StatusService), который вместе с некоторой базовой логикой определяет методы, которые должны присутствовать в расширенных классах, но я сталкиваюсь с этой ошибкой, которую я не могу объяснить:

Неустранимая ошибка: абстрактная функция StatusService:: upd() не может содержать тело в /path/to/lib/services/service.class.php в строке 62

Фрагмент моего базового класса:

abstract class StatusService {
    /** ... */

    /**
     * @return boolean
     * @abstract
     */
    abstract public function upd(){}
}

Теперь я могу быть совершенно неверным (пока еще не написано много абстрактных классов), но это не похоже, что у меня есть тело...? Я был бы признателен за любые указания, чтобы помочь выяснить, что я делаю неправильно.

Мой расширенный класс (только один прямо сейчас) определяет функцию upd() и возвращает значение, но он все равно удаляет эту ошибку. В случае, если это имеет значение, это PHP 5.4.4, работающий на MAMP Pro.

4b9b3361

Ответ 1

abstract public function upd(){}

должен быть

abstract public function upd();

Обратите внимание, что фигурные скобки.. образуют тело метода.

Ответ 2

Просто используйте

abstract public function upd();

без фигурных скобок