空抽象函数不能包含body

时间:2012-10-14 22:17:40

标签: abstract-class php

我正在尝试构建一个抽象类(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。

2 个答案:

答案 0 :(得分:36)

abstract public function upd(){}

应该是

abstract public function upd();

请注意,大括号..形成方法的主体。

答案 1 :(得分:8)

只需使用

abstract public function upd();

没有大括号