gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 23:04:41 25 4
gpt4 key购买 nike

enter image description here

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

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

最佳答案

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

几个选项:

#1。 只是取消对该行的检查。

  • 将插入符号放在突出显示的区域并按 Alt + Enter(或通过“灯泡”图标获得相同的菜单)
  • 找到最合适的条目 .. 然后按箭头右键(或鼠标单击小三角形图标)以展开子菜单
  • 在那里——选择 Suppress for statement 选项——一个新的内联 PHPDoc 注释将添加到 tat 行上方,指示 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 容器助手等

    关于phpstorm - 我可以告诉 PhpStorm 函数的返回类型是什么吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42649694/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com