2014-06-05 130 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 ...))謝謝 –