phpdoc用于继承方法

时间:2014-06-05 16:09:10

标签: php inheritance phpdoc

我有一个A类,有一些返回bool值的方法。我为那个方法制作了phpdoc。

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

我想为新方法制作phpdoc。我可以使用{@inheritDoc},但它需要旧方法的完整phpdoc。我想从旧的phpdoc一般方法描述和参数规范,但改变返回值的描述。

我怎么能这样做?

1 个答案:

答案 0 :(得分:7)

基于inheritance方法的phpDocumentor手册将继承而无需内联{@inheritDoc}标记,您可以根据需要覆盖标记。

  

类似于类和接口的方法函数的继承。   当前类的超类包含具有相同的方法时   name(因此,重新定义此方法)然后是以下信息   继承自该重写方法:

     
      
  • 摘要
  •   
  • 描述
  •   
  • 以下标签:   
        
    • 作者
    •   
    • 版权
    •   
    • 版本
    •   
    • PARAM
    •   
    • 返回
    •   
    • 引发
    •   
  •   
     

与类一样,上面的每一个都只会被继承   重新定义的方法的DocBlock没有要素   遗传。因此,例如,如果重定义方法的DocBlock   有一个摘要然后它将不会收到被覆盖的方法   总结

但是根据经验,IDE会以自己的方式处理这些数据,因此结果可能会有所不同。例如,在IntelliJ / PHPStorm中,父方法docs将被继承,但您可以覆盖所有内容或不覆盖任何内容。