在我的回调类中,我有以下定义:
/**
* @var Entry[] of entries
*/
public $entry;
当我尝试从类 php 文件内部调用$entry[0]
时 - PhpStorm 知道如何提示我对象的类型。
当我尝试从使用此类的不同文件中执行相同的操作时,IDE 不知道如何提示$entry[0]
;
private function processEvent($body)
{
$callback = new Callback(json_decode($body, true));
if (!is_array($callback->entry))
return;
//iterate through all entries
foreach ($callback->entry as $entry) {
$entry->messaging; // - no hints here...
}
}
知道为什么吗?
我可以重现这个问题。重命名类回调(到 Class1)修复了它。此外,PhpStorm认为$callback属于"可调用"类型。所以"回调"可能是一个保留词。重命名我的类后,它没有提供任何其他回调实现。