热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我可以告诉PhpStorm函数的返回类型是什么吗?

如何解决《我可以告诉PhpStorm函数的返回类型是什么吗?》经验,为你挑选了1个好方法。

在此输入图像描述

所以,如果我有一个函数并且在PHPDoc中我指定它将返回一个SqsProcessResult对象,那么我调用一个函数来创建这些对象的新函数,但该函数的PHPDoc说返回类型Object(因为它是一个通用工厂函数)PhpStorm抛出橙色警告.

我可以注释或以其他方式告诉PhpStorm返回类型SqsProcessResult吗?



1> LazyOne..:

是的,你可以..但由于问题的性质,它可能不是最干净/优雅的解决方案(至少这是别人可能会说的).

几个选项:


#1.只需禁止该行的检查.

将插入符号放在突出显示的区域并按Alt + Enter(或通过"灯泡"图标获取相同的菜单)

找到最合适的条目..然后Arrow Right按键(或鼠标单击小三角形图标)以展开子菜单

一旦那里 - 选择Suppress for statement选项 - 将在tat线上方添加一个新的内联PHPDoc注释,指示PhpStorm忽略下一行中的特定检查.

会是这样的:

/** @noinspection PhpIncompatibleReturnTypeInspection */
return \Yii::createObject(...);

优点:IDE方面没有任何警告

缺点:额外的PHPDoc注释以满足IDE(考虑到环境需要)


#2.使用一些可以在适当位置键入提示的中间变量.

添加这样的内容而不是现有的单行:

/** @var SqsProcessResult $res */
$res = \Yii::createObject(...);
return $res;

优点:没有抑制评论

缺点:基本没有理由的额外变量(还有额外的PHPDoc评论)

这个主要用于较长的方法,其中这些变量(通用Object)将在函数体的开头/中间创建,然后在以后使用.


#3.使用.metadata功能并为实际提供解析逻辑\Yii::createObject()(因此IDE根据输入参数选择正确的类).

https://confluence.jetbrains.com/display/PhpStorm/PhpStorm+Advanced+Metadata

这就是相当多的工具:Laravel的IDE助手,Symfony助手,DI Container助手等


推荐阅读
author-avatar
我所信仰的感觉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有