簡體   English   中英

PHPDoc可選參數

[英]PHPDoc optional parameter

這里有兩個類似的問題,但是沒有一個答案似乎有效。

PHPDoc似乎沒有將我的函數中的可選參數識別為可選參數,例如:

/**
 * Opens the connection and sets encoding
 * 
 * @param string $encoding Encoding.
 */
public function __construct($encoding='UTF-8') 
{
    $this->connect_mysqli();
    $this->set_encoding_mysqli($encoding);
}

它不應該認為$ encoding是可選的,或者我在這里遺漏了什么? 我真的試着谷歌並閱讀文檔,但我找到的只是:

如果你沒有在實際代碼中指出參數是可選的(通過“$ paramname ='默認值'”),那么你應該在參數的描述中提到參數是可選的。

所以我看到我的代碼沒有問題,但我在文檔中得到的是:“__ construct(string $ encoding)”,在參數是可選的任何地方都沒有任何符號。

嚴格來說,PHP不知道“可選參數”,而是具有默認值的參數,可以在調用函數或方法時省略。 好的,那是最后一個可選參數,但你的

@param string $encoding Encoding.

這里完全正確,因為默認值是一個字符串。 文檔試圖告訴你的是你應該自己提一下

@param string $encoding (optional) Encoding.

我同意你的觀點,比如說

__construct([$encoding])

要么

__construct($encoding = 'UTF-8')

會好的。 您可以發布錯誤報告

https://github.com/phpDocumentor/phpDocumentor2/issues?state=open

更新:已實現,這已經提到了https://github.com/phpDocumentor/phpDocumentor2/search?q=optional&type=Issues

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM