phpDocumentor中inheritDoc的正确语法

phpDocumentor中inheritDoc的正确语法,php,phpdoc,inheritdoc,Php,Phpdoc,Inheritdoc,如果我只想从父级继承所有文档,那么phpDocumentor中@inheritDoc的正确语法是什么?也许不止一种语法是正确的 @inheritDoc {@inheritDoc} @inheritdoc {@inheritdoc} 我认为文件相当模糊。PhpStorm似乎支持所有这些功能,但可能我在生成带有某些语法的文档时会遇到问题?子元素应该自动从其父docblock继承几乎所有内容,而不需要此标记。否则,所有的实现方法都必须重新记录,而不能从原始接口的文档中获得任何信息 简单地说,没有doc

如果我只想从父级继承所有文档,那么phpDocumentor中@inheritDoc的正确语法是什么?也许不止一种语法是正确的

  • @inheritDoc
  • {@inheritDoc}
  • @inheritdoc
  • {@inheritdoc}

  • 我认为文件相当模糊。PhpStorm似乎支持所有这些功能,但可能我在生成带有某些语法的文档时会遇到问题?

    子元素应该自动从其父docblock继承几乎所有内容,而不需要此标记。否则,所有的实现方法都必须重新记录,而不能从原始接口的文档中获得任何信息

    简单地说,没有docblock的继承元素应该自动继承其父docblock的所有内容

    @inheritdoc
    标记的唯一目的是帮助您从父docblock导入一个东西,即父docblock的长描述。孩子不应该已经有这个可用的唯一原因是如果孩子继续并且有自己的docblock。现在,子对象应该仍然从其父docblock继承几乎所有内容,而不必复制它除了父项的长描述。如果子docblock出于某种原因选择拥有自己的docblock,而您仍然希望继承父级的长描述,那么您在子docblock中放置
    @inheritdoc
    的位置将确定父级长描述的显示位置。因此,子级可以有自己的短描述和长描述,并且仍然在与子级长描述相关的指定位置包含其父级的长描述这是这个标签诞生的唯一原因:-)


    关于IDE自动完成,我不能说我在IDE中看到了一致的行为。此外,我还看到过一些项目,其中假设这个标记是从父docblock继承信息的原因。

    我对IDE支持一无所知,但拼写为
    {@inheritDoc}

    我想答案基本上是存在的,但你应该澄清你的意思是{@inheritDoc}。大括号阐明了它是内联的,这只会像你说的那样引入长描述。请参阅此处关于{@inheritdoc}、它的误用以及即将出现的新@inheritdoc标记的说明。
    @inheritdoc
    在遗留代码库中非常方便,可以告诉读者文档是故意丢失的。文档生成器不需要这样做,但在编辑器/Github上查看代码的人需要这样做。(这显然也出现在标准草案中。)文档还将其拼写为
    {@inheritdoc}
    除了将其拼写为
    {@inheritdoc}
    的文档外,还说明了使用此标记显式地将DocBlock的所有内容替换为父/接口的内容(请参见红色的“重要”段落),并区分原始的内联
    {@inheritardoc}
    标记(其中包括父级的描述)和新的/潜在的
    @inheritardoc
    标记(该标记替换了整个内容,并且已经被一些客户端以这种方式使用)。