PHPDoc 中的可选可为空参数



>想象一下,我们有带有可选可为空参数(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() 方法的最后三个参数,如下所示。

相关内容

  • 没有找到相关文章

最新更新