phpDocumentor不会覆盖父类的文档



所以,基本上我有以下设置:

class A {
    /**
     * This is some documentation
     */
    public function foo() {}
}
class B extends A {
    /**
     * This documentation is way more specific than in class A
     */
    public function foo() {}
}

当我试图用phpDocumentor2记录这一点时,它会在类B的方法foo()中显示"这是一些文档",但我希望它说"这个文档比类A中更具体"。在phpDocumenter1中,一切看起来都像预期的那样。那么,这里发生了什么?这是phpDocumentor2的新默认行为吗?如果是这样,有没有办法改变它?或者这只是一个bug?

注意:在做研究时,我经常碰到{@inheritDoc},但我希望有完全相反的行为。

您希望在您的示例中看到的正是应该发生的事情--A::foo()应该显示"这是一些文档",而B::foo()则应该显示"这个文档比A类更具体"。如果这种情况没有发生,那就是一个错误。请在打开问题https://github.com/phpDocumentor/phpDocumentor2

顺便说一句,{@inheritcoc}的目的是将A::foo()的长描述嵌入B::foo)的整个文档中间的某个位置。通过在B::foo()的文档块中有描述,您可以覆盖B::foo()自动继承的A::foo的信息的正确默认行为。{@inheritcoc}标记是专门创建的,这样您就有机会为B::foo()编写描述,并且仍然可以包含a::foo()中的描述。在B::foo()的文档块中放置{@inheritcoc}意味着您可以精确控制A:foo()的描述在B的整体描述中的位置。

我在野外看到的{@inheritco}的绝大多数用法是,人们认为它只能用于从父级继承描述和标记。我认为这是由于phpDoc1.x中的错误实现,其中自然继承不能正确工作,因此人们认为标签应该使用,尽管它仍然没有给他们想要的东西。

相关内容

  • 没有找到相关文章

最新更新