首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHPDoc可选参数

PHPDoc可选参数
EN

Stack Overflow用户
提问于 2012-11-18 15:04:43
回答 1查看 30.8K关注 0票数 34

这里已经有两个类似的问题了,但是没有一个答案是可行的。

例如,PHPDoc似乎没有将函数中的可选参数识别为可选参数:

代码语言:javascript
复制
/**
 * 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)",在任何地方该参数都是可选的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-18 15:12:43

严格地说,PHP不知道“可选的参数”,而是使用默认值的参数,在调用函数或方法时可以省略这些参数。好的,这是一个可选的参数,但是

代码语言:javascript
复制
@param string $encoding Encoding.

在这里完全正确,因为默认值是字符串。文档试图告诉您的是,您应该自己提到它,比如

代码语言:javascript
复制
@param string $encoding (optional) Encoding.

我同意你的观点,一种符号

代码语言:javascript
复制
__construct([$encoding])

代码语言:javascript
复制
__construct($encoding = 'UTF-8')

会很好的。您可以发布错误报告。

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

更新:意识到,这已经提到了https://github.com/phpDocumentor/phpDocumentor2/search?q=optional&type=Issues

票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13441333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档