PhpStorm 8.0 - 如何在另一个文件中启用代码完成?

时间:2015-02-27 20:23:16

标签: autocomplete phpstorm completion

我实施了包含方法MyClass的{​​{1}},并将实例存储在 test.php 中的method()中。同样在test.php中,当我输入$_ENV['key']时,代码完成工作。

test2.php 中,我包含了test.php,代码完成功能不再适用于$_ENV['key']->

enter image description here

有谁知道如何在PhpStorm中启用它?

1 个答案:

答案 0 :(得分:1)

阵列的AFAIK类型跟踪工作在同一个文件

您可以通过中间变量(是的,它不是最好的解决方案)和小的PHPDoc评论来绕过它,如下所示:

/** @var MyClass $myVar */
$myVar = $_ENV['key'];
$myVar->

<强> P.S。 一般来说,我建议不要以这种方式使用全局数组(或者根本不使用全局变量 - 如果可能的话,只在引导期间使用非常基本的东西)。相反(基于你的代码)我可能建议使用一些静态类(作为备选方案之一)和专用字段,您可以轻松地将类型提示(通过PHPDoc)提供给类字段 - 这样IDE将始终知道帽子类型它是。当前的PHP版本(5.5,尤其是5.6)与对象一起使用的速度几乎与数组一样快,甚至导致(较小的)内存消耗。

显然,如果此代码不属于您,则此类建议并不适用。