【发布时间】: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