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)中使用它,它就是有效的解决方案。