为什么php接口中的关键字是抽象的和无效的


Why are the key words abstract and void in a php Interface?

浏览php手册网站上的SplSubject界面时注意到。

SplSubject {
  /* Methods */
  abstract public void attach ( SplObserver $observer )
  abstract public void detach ( SplObserver $observer )
  abstract public void notify ( void )
}

我不知道"抽象"这个关键词在代码中做了什么,也不知道它为什么在那里。在php中也从未见过/使用过函数返回类型(如void)?

感谢

您在那里看到的接口声明是伪代码。这意味着它不应该是可执行的PHP代码。

他们添加了类型信息,显然是为了显示该方法的预期返回类型。

不要问我他们为什么选择显式添加abstract关键字。通常,接口中声明的每个方法都是"抽象的"。也许他们想强调这一点。