Phpstorm phpForm类型识别/建议
我能做些什么让PhpStorm(2016.1)识别Phpstorm phpForm类型识别/建议,phpstorm,phpstorm-2016.1,Phpstorm,Phpstorm 2016.1,我能做些什么让PhpStorm(2016.1)识别“new X()”范围之外的类型 SomeClass.php: class SomeClass { public function DoMagic() { echo "doing magic"; } } class DummyClass { protected $mParamsList; function __construct() { $this->mParamsList = arra
“new X()”
范围之外的类型
SomeClass.php:
class SomeClass
{
public function DoMagic()
{
echo "doing magic";
}
}
class DummyClass
{
protected $mParamsList;
function __construct()
{
$this->mParamsList = array();
}
public function InitParamsList()
{
$this->mParamsList[] = new SomeClass();
}
public function GetParamsList()
{
return $this->mParamsList;
}
}
DummyClass.php:
class SomeClass
{
public function DoMagic()
{
echo "doing magic";
}
}
class DummyClass
{
protected $mParamsList;
function __construct()
{
$this->mParamsList = array();
}
public function InitParamsList()
{
$this->mParamsList[] = new SomeClass();
}
public function GetParamsList()
{
return $this->mParamsList;
}
}
UserClass.php-无建议:
class UserClass
{
public function DoMagic()
{
$dummy2 = new DummyClass();
$params = $dummy2->GetParamsList();
foreach ($params as $param)
{
$param-> * nothing happens *
}
}
}
?>
我发现添加这个黑客程序是可行的,但使用它会让人沮丧:
if(false)
{
$param=新的SomeClass();
}
因此,完整的工作示例是:
class UserClass
{
public function DoMagic()
{
$dummy = new DummyClass();
$params = $dummy->GetParamsList();
foreach ($params as $param)
{
if (false)
{
$param = new SomeClass();
}
$param-> * suggestions pop up *
}
}
}
在执行以下功能之前,应使用文档类型注释:
/**
* @return \MyObject
*/
public function GetMyObject()
{
return new MyObject();
}
在执行以下功能之前,应使用文档类型注释:
/**
* @return \MyObject
*/
public function GetMyObject()
{
return new MyObject();
}
请提供能够说明该问题的完整示例代码。我的简单测试表明它工作得很好。。所以这一定是你当地的问题(可能是真正的代码..或者其他问题)正如您所看到的,甚至不需要额外的PHPDoc(尽管拥有文档总是很有用的)。对不起,我提供了一个过于简化的版本,它确实有效。用损坏的示例更新了问题。我的类是在单独的文件中定义的,如果这有什么区别的话。如果您接受@Saliery的答案并进行调整,以便
DummyClass::GetParamsList()
在其文档块中有@return SomeClass[]
,这不管用吗?@Buffalo这里有一个屏幕截图,上面有所有3条PHPDoc注释:附:一些阅读链接:结论:使用PHPDoc——它可以帮助其他人阅读你的代码、你自己(1年后……当你忘记它的确切功能时)以及IDE(更好的代码完成和代码分析)请提供能够说明该问题的完整示例代码。我的简单测试表明它工作得很好。。所以这一定是你当地的问题(可能是真正的代码..或者其他问题)正如您所看到的,甚至不需要额外的PHPDoc(尽管拥有文档总是很有用的)。对不起,我提供了一个过于简化的版本,它确实有效。用损坏的示例更新了问题。我的类是在单独的文件中定义的,如果这有什么区别的话。如果您接受@Saliery的答案并进行调整,以便DummyClass::GetParamsList()
在其文档块中有@return SomeClass[]
,这不管用吗?@Buffalo这里有一个屏幕截图,上面有所有3条PHPDoc注释:附:一些阅读链接:结论:使用PHPDoc——它可以帮助其他人阅读你的代码、你自己(1年后……当你忘记它的确切功能时)以及IDE(更好的代码完成和代码分析)