如何使用 PHPDoc 对可调用对象的参数进行类型提示?
我有一个接受回调作为参数的方法。我想在 PHPDoc 中为类方法提供一个签名,该签名概述了要传递给该方法的回调函数的参数,以便我的 IDE (PHPStorm) 可以为传递给我的方法的函数生成有效的类型提示,或者至少查看代码的人可以确定他们打算提供的回调的签名。
例如:
class Foo {
public $items = [];
/**
* @param Callable(
* @param ArrayObject $items The list of items that bar() will return
* ) $baz A callback to receive the items
**/
public function bar(Callable $baz) {
$items = new ArrayObject($this->items);
$baz($items);
}
}
该方法有一个参数 ,它是一个回调函数。作为参数传递给 的任何函数都必须接受 a 作为其唯一参数。bar
$baz
bar()
ArrayObject
理想情况下,应该可以为 包含 多个参数,就像任何其他方法一样。Callable
当我编写以下代码时:
$foo = new Foo();
$foo->bar(function(
...然后,我应该收到一个参数列表,该列表正确提示此函数调用的已接受参数的类型 ()。ArrayObject
这样的事情可能吗?PHPStorm或其他IDE是否支持它?即使没有IDE支持,是否有推荐/标准的方式来记录这一点?