我有一个A类,有一些返回bool值的方法。我为那个方法制作了phpdoc。
我创建了另一个B类,它扩展了A类并覆盖了方法。新方法返回字符串。 (我知道在一般情况下改变返回类型不是一个好主意,但在我的情况下,它是一个好方法。)
我想为新方法制作phpdoc。我可以使用{@inheritDoc},但它需要旧方法的完整phpdoc。我想从旧的phpdoc一般方法描述和参数规范,但改变返回值的描述。
我怎么能这样做?
答案 0 :(得分:7)
基于inheritance方法的phpDocumentor手册将继承而无需内联{@inheritDoc}
标记,您可以根据需要覆盖标记。
类似于类和接口的方法函数的继承。 当前类的超类包含具有相同的方法时 name(因此,重新定义此方法)然后是以下信息 继承自该重写方法:
- 摘要
- 描述
- 以下标签:
- 作者
- 版权
- 版本
- PARAM
- 返回
- 引发
与类一样,上面的每一个都只会被继承 重新定义的方法的DocBlock没有要素 遗传。因此,例如,如果重定义方法的DocBlock 有一个摘要然后它将不会收到被覆盖的方法 总结
但是根据经验,IDE会以自己的方式处理这些数据,因此结果可能会有所不同。例如,在IntelliJ / PHPStorm中,父方法docs将被继承,但您可以覆盖所有内容或不覆盖任何内容。