如何将请求超全局标记为已弃用

时间:2018-02-12 00:22:55

标签: php phpstorm type-hinting

我正在尝试找出一种方法让$_POST$_GET$_REQUEST在PhpStorm中显示为警告或弃用,因为我依赖于获取值这些来自RequestInterface(PSR-7风格)。

我已尝试在语言功能中禁用superglobals模块,但我可以使用带有@deprecated的PHPDoc获取我的.php文件,它似乎从项目中选择一个随机实例。 (通常来自我设置$_REQUEST var以测试一些遗留代码的测试用例)

1 个答案:

答案 0 :(得分:2)

使用PhpStorm,您可以覆盖默认存根文件。为此,您需要执行以下步骤。

  1. 克隆https://github.com/JetBrains/phpstorm-stubs/
  2. 导航至设置|语言与框架| PHP | PHP运行时
  3. 指向高级设置|默认存根路径到新克隆的存储库。
  4. enter image description here

    1. 打开外部库| PHP运行时|超级全球|编辑器中的_superglobals.php 或只是从任何全局变量用法导航到其声明。
    2. 开始编辑文件并同意对非项目文件执行更改。
    3. enter image description here

      1. @deprecated添加到所需变量。
      2. 之后,所有弃用的变量都将在完成弹出窗口中显示。

        enter image description here

        不幸的是,有一个错误会阻止它们在编辑器中被标记为已弃用(请参阅WI-29019)。但我希望我们能尽快解决它。

        此外,请记住,从现在起,存根不会与PhpStorm一起更新。所以你需要定期从GitHub中提取更新。此外,您可以删除克隆存储库中的所有目录,但superglobals。在这种情况下,PhpStorm将使用嵌入式存根。