php - PHPDoc 中可选的可空参数

标签 php phpdoc phpdocumentor2

想象一下,我们有一个带有可选可空参数 (PHP 7.0) 的方法,如本例所示:

/**
 * @param Type1 $foo 
 * @param Type2 $bar
 */
 function myFunction(Type1 $foo, Type2 $bar = null)
 {

 }

不幸的是,从 PHPDoc 文档中并不清楚,将第二个参数标记为可选和可为空的正确方法是什么。

通常我使用“Type2|null”表示法:

/**
 * @param Type1 $foo 
 * @param Type2|null $bar
 */
 function myFunction(Type1 $foo, Type2 $bar = null)
 {

 }

实际上这是我更喜欢的方式,因为它明确描述了所有可能的类型。但是我听到文档中关于参数是否可选的投诉并不明显。

我知道,像接缝一样,非官方约定“(可选)”

/**
 * @param Type1 $foo 
 * @param Type2 $bar (optional)
 */
 function myFunction(Type1 $foo, Type2 $bar = null)
 {

 }

我不喜欢这种方法,因为从技术上讲,您可以明确提供 NULL 作为第二个参数。从 phpdoc 中还不清楚。

一般来说,我什至可以将它们一起使用:

 * @param Type2|null $bar (optional)

但这看起来不太好,恕我直言。

您能否向我提供一些反馈,或者更好的是,提供一些指向相应编码标准/风格指南的链接?

最佳答案

@param Type2|null $bar

是正确的方法,从 phpDocumentor 的角度来看...参见 getOption() 方法的最后三个参数,如图 here .

关于php - PHPDoc 中可选的可空参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49073384/

相关文章:

ide - 在 PhpStorm 提取方法重构对话框中默认禁用 PhpDoc

VIM自动插入PHPdoc

php - 在 PhpDocumentor 2 中使用 @package 而不是命名空间

php - 替换 {{a,b}} 和 {{a}} 的正则表达式

php - PHP MySQL 加入帮助

php - 如何获取ajax值并存储在PHP变量中?

php - Eclipse 完成 - @var (PHPDoc) 问题

PhpDocumentor : How to choose templates?

Php文档 : Possible to link method in parameter description?

javascript - 有什么办法可以限制wordpress中的不同IP吗?