20

我正在尝试构建一个抽象类(StatusService),它与一些基本逻辑一起定义了需要在扩展类中存在的方法,但是遇到了这个我无法解释的错误:

致命错误:抽象函数 StatusService::upd() 不能在第 62 行的 /path/to/lib/services/service.class.php 中包含正文

我的基类的片段:

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

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

现在我可能完全错了(还没有写太多抽象类),但它看起来不像我有一个身体..?我将不胜感激任何指针,以帮助找出我做错了什么。

我的扩展类(现在只有一个)确实定义了 upd() 函数并返回一个值,但它仍然把那个错误转储给我。如果重要的话,这是在 MAMP Pro 上运行的 PHP 5.4.4。

4

2 回答 2

42
abstract public function upd(){}

应该

abstract public function upd();

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

于 2012-10-14T22:21:09.433 回答
8

只需使用

abstract public function upd();

没有大括号

于 2012-10-14T22:21:20.537 回答