是否有可能提示返回的PHP函数/方法类型,由一个参数确定?像这样:
/**
* @param string $class
* @param array $attributes
* @return $class <- this doesn't work
*/
public function create($class, $attributes) {
... // finally returns object of type $class
}
我实现了一个允许为单元测试创建工厂对象的库。所以我想在客户端代码中实现:
$user = $factory->create('Users', ['name' => 'John', 'email' => 'john@example.com']);
并且可以自动完成对象方法/属性,而无需在客户端代码中添加显式的PHPDoc注释,如下所示:
/* @var $user Users */
$user = $factory->create('Users', ['name' => 'John', 'email' => 'john@example.com']);
欢迎任何建议!只要我在流行的IDE(PHPStorm,Eclipse,NetBeans)中使用它,它就是一个有效的解决方案。