想象一下,我们有一个带有可选nullable参数(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)
{
}
实际上这是我的首选方式,因为它明确地描述了所有可能的类型。但是,如果参数是可选的,我听到了来自doc的投诉并不明显。
我知道,像非正式约定的接缝"(可选)"
/**
* @param Type1 $foo
* @param Type2 $bar (optional)
*/
function myFunction(Type1 $foo, Type2 $bar = null)
{
}
我不喜欢这种方法,因为从技术上讲,你可以明确地提供NULL作为第二个参数。并且从phpdoc中不清楚。
一般来说,我甚至可以一起使用它们:
* @param Type2|null $bar (optional)
但它看起来并不好看,恕我直言。
您能否向我提供一些反馈,或者更好的是,提供一些指向相应编码标准/风格指南的链接?
答案 0 :(得分:2)
@param Type2|null $bar
是正确的方法...查看getOption()
方法的最后三个参数,如here所示。