2014-06-05 93 views
3

我有类A返回布尔值的一些方法。我为该方法制作了phpdoc。phpdoc继承方法

我做了另一个B类,它扩展了A类和覆盖方法。新方法返回字符串。我知道在一般情况下改变返回类型不是一个好主意,但在我的情况下这是一个好方法。)

我想为新方法制作phpdoc。我可以使用{@inheritDoc},但它从旧方法中获取完整的phpdoc。我想从旧的phpdoc中通用的方法描述和参数说明,但改变返回值的描述。

我该怎么办?

+1

看一看'{@see}' –

+0

是的,我会用@see。谢谢) –

回答

5

基于phpDocumentor手册inheritance方法将继承而不需要嵌入式{@inheritDoc}标记,并且您可以根据需要覆盖标记。

方法的继承功能类似于类和接口。 当当前类的类的超类包含具有相同 名称(因此,重新定义的这个方法),那么以下信息 从该重写的方法继承的方法:

  • 摘要
  • 说明
  • 以下标签:
    • 作者
    • 版权
    • 版本
    • PARAM
    • 返回
    • 抛出

与类,每一个上述将仅被继承如果 重新定义方法的文档块不具有要作为 继承了元件。因此,例如,如果重新定义的方法 的DocBlock具有摘要,那么它将不会收到重写方法的 摘要。

但是,根据经验,IDE的句柄以自己的方式解析这些数据,因此结果可能会有所不同。例如,在IntelliJ/PHPStorm中,父方法文档将被继承,但您可以覆盖所有内容或不执行任何操作。

+0

哦,现在我明白了。我阅读手册,但{@inheritDoc}没有工作。那是因为我使用phpstorm ...))谢谢 –