PHP提示动态返回类型(基于$ class参数)

ddi*_*hev 5 php autocomplete type-hinting

您是否可能暗示一个返回的PHP函数/方法的类型(由参数确定)?像这样:

/**
 * @param string $class
 * @param array $attributes
 * @return $class <- this doesn't work
 */
public function create($class, $attributes) {
    ... // finally returns object of type $class
}
Run Code Online (Sandbox Code Playgroud)

我正在实现一个允许为单元测试创​​建工厂对象的库。因此,我想在客户端代码中实现以下功能:

$user = $factory->create('Users', ['name' => 'John', 'email' => 'john@example.com']);
Run Code Online (Sandbox Code Playgroud)

并且具有对象方法/属性的自动完成功能,而无需在客户端代码中添加显式的PHPDoc注释,如下所示:

/* @var $user Users */
$user = $factory->create('Users', ['name' => 'John', 'email' => 'john@example.com']);
Run Code Online (Sandbox Code Playgroud)

任何建议都是最欢迎的!只要我能在流行的IDE(PHPStorm,Eclipse,NetBeans)中使用它,它就是有效的解决方案。

Yos*_*sky 2

尝试DynamicReturnTypePlugin。然后你可以手动添加这个配置