【问题标题】:PHPDoc optional parameterPHPDoc 可选参数
【发布时间】:2012-11-06 15:20:06
【问题描述】:

在 SO 上已经有 2 个此类类似问题,但似乎没有一个答案有效。

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 = 'a default value'”),那么你应该在参数的描述中提到参数是可选的。

所以我认为我的代码没有问题,但我在文档中得到的只是: "__construct(string $encoding)", 参数可选的地方没有符号。

【问题讨论】:

    标签: php phpdoc param optional


    【解决方案1】:

    严格来说,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

    【讨论】:

    • 好吧,比我差。我认为 PHPDocumentor 已经内置了这个功能,并且认为我做错了什么。如果不接受您的回答,将保持开放一段时间,以防有人很快出现一些新信息。谢谢
    • 支持添加到最新版本的 PHPDocumentor。见github.com/siad007/template.clean/commit/…
    • 可以用新的注释更新吗?这里给出的链接都没有明显的答案。
    猜你喜欢
    • 2018-08-10
    • 1970-01-01
    • 2010-12-31
    • 2010-11-26
    • 2011-01-01
    • 1970-01-01
    • 2013-01-08
    • 2014-12-19
    • 1970-01-01
    相关资源
    最近更新 更多