【问题标题】:PHPStorm type hinting from array key来自数组键的 PHPStorm 类型提示
【发布时间】:2015-12-08 07:53:42
【问题描述】:

是否可以根据 PHPStorm 中的数组键进行类型提示?例如,假设我有一个数组:

$a = array('\Fully\Namespaced\ClassName' => $objectInstance);

我可以让 PHPStorm 推断出$a['\Fully\Namespaced\ClassName']\Fully\Namespaced\ClassName 的一个实例吗?

我知道首选方法是让创建 $objectInstance 的函数指定其返回类型,但我的特定设置(我无法控制)阻止我这样做。

【问题讨论】:

  • 这取决于实际的数组(你如何创建/使用它)。但总的来说:confluence.jetbrains.com/display/PhpStorm/…
  • @LazyOne 感谢您的回复!这看起来很有希望,但我遇到了麻烦。这是我的设置的代表:http://pastie.org/10420353。 Slim\Container 是一个实现 ArrayAccess 的类,所以我相信您的解决方案是适用的,但 $foo 被暗示为 Slim\Container,而不是 Foo。有什么想法吗?
  • 我不知道该说什么——它在过去确实有效 (original ticket)。我可能会建议在那里询问和/或在youtrack.jetbrains.com/issues/WI 向他们的问题跟踪器提交新票。通过工厂方法访问仍然运行良好。也许它与您可能拥有的第 3 方(自定义)插件之一冲突?
  • 我用 JetBrains (https://youtrack.jetbrains.com/issue/WI-28898) 开了一张新票。随着进展,我会在这里更新。

标签: arrays phpstorm type-hinting


【解决方案1】:
/** @var $objectInstance \Fully\Namespaced\ClassName */

在数组声明之前添加。

【讨论】:

    猜你喜欢
    • 2015-05-23
    • 1970-01-01
    • 2015-03-30
    • 2013-07-14
    • 2021-12-26
    • 2019-03-08
    • 2020-03-01
    • 2021-12-14
    • 2014-08-29
    相关资源
    最近更新 更多