为什么在投射时认为类类型是常量?

时间:2011-06-15 07:50:44

标签: php ide doctrine phpstorm

PHPStorm,突出显示(MyObject)作为未定义的常量?然后有一个突出显示的位询问预期的分号(MyObject);?

$MyObject = (MyObject)(Doctrine::getTable('MyTable')->findOneById($id));

当我使用Cntrl-N(MyObject)时,它会转到MyObject的正确定义,因此检查工作正常。该表达式调用类工厂,所以我试图将其转换为其他时间,编辑器知道变量$ MyObject的类型是什么。我配置错了什么?

2 个答案:

答案 0 :(得分:3)

如果你正在进行演员以获得代码完成,还有另一种通知PHPStorm的方法:

/** @var $MyObject MyObject */
$MyObject = Doctrine::getTable('MyTable')->findOneById($id);

你喜欢什么方法。

答案 1 :(得分:0)

我认为这是可能的。这只是PHPStorm的一个错误。演员是正确的,但你错过了)

$MyObject = (MyObject)(<-- unclosed Doctrine::getTable('MyTable')->findOneById($id));

如果错误将问题发布到Stackoverflow,则可能是错误的原因。