PHPDoc可选参数

PHPDoc可选参数,php,phpdoc,param,optional,Php,Phpdoc,Param,Optional,这里已经有两个类似的问题了,但是没有一个答案是有效的 PHPDoc似乎无法将函数中的可选参数识别为可选参数,例如: /** * Opens the connection and sets encoding * * @param string $encoding Encoding. */ public function __construct($encoding='UTF-8') { $this->connect_mysqli(); $this->set_e

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

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])

那太好了。您可以发布错误报告


更新:意识到,这已经提到了

好的,我的坏比。我觉得PHPDocumentor已经内置了这个功能,我觉得我做错了什么。如果有人不接受你的回答,我会把它打开一段时间,以防有人很快带着一些新信息出现。感谢支持添加到最新版本的PHPDocumentor。看到了吗?可以用新注释更新吗?这里给出的链接都没有明显的答案。
__construct($encoding = 'UTF-8')