PhpStorm是否可以理解具有指定参数的方法的结果,或者从特定类调用以了解在PHPDoc中定义的结果?
例如:
class demo {
public static function getInstance($className)
{
return $className::Instance();
}
}
class someClass {
public function Instance() {
return new someClass();
}
}
class otherClass {
public function Instance() {
return new otherClass();
}
}
demo::getInstance('someClass'); // PHPstorm should understand this would return someClass
demo::getInstance('otherClass'); // PHPstorm should understand this would return otherClass
目前我的PhpStorm说
在字符串中找不到方法getInstance。
对于代码提示,我希望PhpStorm能够根据参数值了解返回的类。把这些数据放在PHPDoc或类似的东西中就好了,请不要使用其他方法。
答案 0 :(得分:2)
首先,静态调用非静态方法。
其次,您可以注意返回类型,如下所示:
/**
* @return someClass|otherClass
*/
public static function getInstance($className)
{
return $className::Instance();
}