我在PhpStorm中有很多文件,其中有一个警告,我去了绿色标记!它们都来自于使用BLOB,这当然有意义,因为load()不是我项目中设置的功能。它是OCI-Lob的基本php函数。
代码行是:
$zip->addFromString($result['FILE_NAME'], $result['FILE_BLOB']->load());
我尝试在各种组合中添加@var
和@method comments
(可能不正确),例如:
/** @var $result['FILE_BLOB'] load */
我当然不希望关闭这个检查项目,因为它在其他地方非常有用。我只是想为这条线压制它,或者甚至更好地将它指向正确的方向。有很多黄色块而不是蜱虫很烦人。也许我只是挑剔,因为该计划显然不受影响。有谁知道任何解决方案或解决方法?
答案 0 :(得分:2)
您可以在单独的变量中引用blob,然后对该变量进行提示:
/** @var OCI_Lob $fileBlob */
$fileBlob = $result['FILE_BLOB'];
$zip->addFromString($result['FILE_NAME'], $fileBlob->load());
由于$ result ['FILE_BLOB']是一个对象,它将通过引用分配,因此这不会导致脚本内存使用量显着增加。
另一个选项是将整个结果数组提示为OCI_Lob对象的数组。不太好,但它也可能解决您的代码检查问题:
/** @var OCI_Lob[] $result */
$zip->addFromString($result['FILE_NAME'], $result['FILE_BLOB']->load());
据我所知,在PHPDoc评论中提示特定的数组键是不可能的,所以这是我现在能想到的最好的。