我实施了包含方法MyClass
的{{1}},并将实例存储在 test.php 中的method()
中。同样在test.php中,当我输入$_ENV['key']
时,代码完成工作。
在 test2.php 中,我包含了test.php,代码完成功能不再适用于$_ENV['key']->
。
有谁知道如何在PhpStorm中启用它?
答案 0 :(得分:1)
阵列的AFAIK类型跟踪工作在同一个文件 。
您可以通过中间变量(是的,它不是最好的解决方案)和小的PHPDoc评论来绕过它,如下所示:
/** @var MyClass $myVar */
$myVar = $_ENV['key'];
$myVar->
<强> P.S。强> 一般来说,我建议不要以这种方式使用全局数组(或者根本不使用全局变量 - 如果可能的话,只在引导期间使用非常基本的东西)。相反(基于你的代码)我可能建议使用一些静态类(作为备选方案之一)和专用字段,您可以轻松地将类型提示(通过PHPDoc)提供给类字段 - 这样IDE将始终知道帽子类型它是。当前的PHP版本(5.5,尤其是5.6)与对象一起使用的速度几乎与数组一样快,甚至导致(较小的)内存消耗。
显然,如果此代码不属于您,则此类建议并不适用。