如何将请求超全局标记为已弃用
How to mark request superglobals as deprecated
我正在尝试找到一种方法让 $_POST
、$_GET
和 $_REQUEST
在 PhpStorm 中显示为警告或已弃用,因为我依赖于获取这些值来自 RequestInterface
(PSR-7 样式)。
我试过在语言功能中禁用 superglobals 模块,但我可以使用带有 @deprecated
的 PHPDoc 获取我的 .php 文件,它似乎是从中选择一个随机实例项目代替。 (通常来自我设置 $_REQUEST
var 来测试一些遗留代码的测试用例)
使用 PhpStorm,您可以覆盖默认存根文件。为此,您需要执行以下步骤。
- 克隆 https://github.com/JetBrains/phpstorm-stubs/.
- 导航至设置 |语言与框架 | PHP | PHP 运行时间.
- 点高级设置 |默认存根路径 到新克隆的存储库。
- 打开外部图书馆 | PHP 运行时 |超全局 | _superglobals.php 在编辑器中,或者只是从任何全局变量用法导航到它的声明。
- 开始编辑文件并同意对非项目文件执行更改。
- 将
@deprecated
添加到所需变量。
之后,所有已弃用的变量都将在完成弹出窗口中被删除。
不幸的是,有一个错误阻止它们在编辑器中被标记为已弃用(参见 WI-29019)。但我希望我们能尽快修复它。
此外,请记住,从现在开始,存根将不会与 PhpStorm 一起更新。所以你需要定期从 GitHub 拉取更新。此外,您可以从克隆的存储库中删除所有目录,但 superglobals
。在这种情况下,PhpStorm 将对其余部分使用嵌入式存根。
我正在尝试找到一种方法让 $_POST
、$_GET
和 $_REQUEST
在 PhpStorm 中显示为警告或已弃用,因为我依赖于获取这些值来自 RequestInterface
(PSR-7 样式)。
我试过在语言功能中禁用 superglobals 模块,但我可以使用带有 @deprecated
的 PHPDoc 获取我的 .php 文件,它似乎是从中选择一个随机实例项目代替。 (通常来自我设置 $_REQUEST
var 来测试一些遗留代码的测试用例)
使用 PhpStorm,您可以覆盖默认存根文件。为此,您需要执行以下步骤。
- 克隆 https://github.com/JetBrains/phpstorm-stubs/.
- 导航至设置 |语言与框架 | PHP | PHP 运行时间.
- 点高级设置 |默认存根路径 到新克隆的存储库。
- 打开外部图书馆 | PHP 运行时 |超全局 | _superglobals.php 在编辑器中,或者只是从任何全局变量用法导航到它的声明。
- 开始编辑文件并同意对非项目文件执行更改。
- 将
@deprecated
添加到所需变量。
之后,所有已弃用的变量都将在完成弹出窗口中被删除。
不幸的是,有一个错误阻止它们在编辑器中被标记为已弃用(参见 WI-29019)。但我希望我们能尽快修复它。
此外,请记住,从现在开始,存根将不会与 PhpStorm 一起更新。所以你需要定期从 GitHub 拉取更新。此外,您可以从克隆的存储库中删除所有目录,但 superglobals
。在这种情况下,PhpStorm 将对其余部分使用嵌入式存根。