我正在尝试构建一个抽象类(StatusService),它与一些基本逻辑一起定义了需要出现在扩展类中的方法,但是我遇到了这个我无法解决的错误解释:
致命错误:抽象函数StatusService :: upd()在第62行的/path/to/lib/services/service.class.php中不能包含body
我的基类片段:
abstract class StatusService {
/** ... */
/**
* @return boolean
* @abstract
*/
abstract public function upd(){}
}
现在我可能完全错了(还没写过很多抽象类),但它看起来不像我有一个身体......?我很感激任何指示,以帮助弄清楚我做错了什么。
我的扩展类(现在只有一个)确实定义了upd()函数并返回一个值,但它仍然会将错误转发给我。如果重要,这是在MAMP Pro上运行的PHP 5.4.4。
答案 0 :(得分:36)
abstract public function upd(){}
应该是
abstract public function upd();
请注意,大括号..形成方法的主体。
答案 1 :(得分:8)
只需使用
abstract public function upd();
没有大括号