所以,如果我有一个函数并且在PHPDoc中我指定它将返回一个SqsProcessResult对象,那么我调用一个函数来创建这些对象的新函数,但该函数的PHPDoc说返回类型Object(因为它是一个通用工厂函数)PhpStorm抛出橙色警告.
我可以注释或以其他方式告诉PhpStorm返回类型SqsProcessResult吗?
是的,你可以..但由于问题的性质,它可能不是最干净/优雅的解决方案(至少这是别人可能会说的).
几个选项:
#1.只需禁止该行的检查.
Suppress for statement选项 - 将在tat线上方添加一个新的内联PHPDoc注释,指示PhpStorm忽略下一行中的特定检查.会是这样的:
/** @noinspection PhpIncompatibleReturnTypeInspection */
return \Yii::createObject(...);
Run Code Online (Sandbox Code Playgroud)
#2.使用一些可以在适当位置键入提示的中间变量.
添加这样的内容而不是现有的单行:
/** @var SqsProcessResult $res */
$res = \Yii::createObject(...);
return $res;
Run Code Online (Sandbox Code Playgroud)
这个主要用于较长的方法,其中这些变量(通用Object)将在函数体的开头/中间创建,然后在以后使用.
#3.使用.metadata功能并为实际提供解析逻辑\Yii::createObject()(因此IDE根据输入参数选择正确的类).
https://confluence.jetbrains.com/display/PhpStorm/PhpStorm+Advanced+Metadata
这就是相当多的工具:Laravel的IDE助手,Symfony助手,DI Container助手等
| 归档时间: |
|
| 查看次数: |
1218 次 |
| 最近记录: |