jetbrains/phpstorm-stubs

PhpStorm 的 PHP 运行时和扩展头文件


README

official JetBrains project License Total Downloads

PhpStorm Stubs Tests PhpStorm Stubs PECL Test PhpStorm Stubs Check Links

STUBS 是正常的、语法正确的 PHP 文件,包含所有内置 PHP 和大多数标准扩展的函数、类签名、常量定义等。STUBS 需要包括完整的 PHPDOC,特别是正确的 @return 注释。

IDE 需要它们来完成、代码检查、类型推断、文档弹出等。大多数这些服务的质量都取决于 stubs 的质量(基本上是它们的 PHPDOC @注释)。

请注意,“非标准”扩展的 stubs 是按原样提供的。(非标准扩展是指不包含在 PHP 核心中或未捆绑/外部捆绑的扩展 - 请参阅完整的列表 此处。)

对这类“非标准”stub的支持是由社区驱动的,我们只验证它们的PHPDoc。我们不会检查stub是否与实际扩展匹配,或者提供的描述是否正确。

请注意,目前没有对抛出的异常进行测试,因此应手动根据官方文档或 PHP 源代码检查 @throws 标签。

相关开放问题

贡献流程

贡献流程

更新 IDE

在 IDE 中有一个 .git 仓库的完整副本,并在 设置 | 语言和框架 | PHP | PHP 运行时 | 高级设置 | 默认 stubs 路径 中提供其路径。然后可以通过正常的 git 方法轻松双向更新。

默认启用的扩展

PhpStorm 中默认启用的扩展集可能会随时更改,恕不另行通知。要了解如何查看启用的扩展,请参阅 此处

如何运行测试

  1. 执行 docker compose -f docker-compose.yml run test_runner composer install --ignore-platform-reqs
  2. 执行 docker compose -f docker-compose.yml run -e PHP_VERSION=8.0 test_runner vendor/bin/phpunit --testsuite PHP_8.0

如何更新 stub map

执行 docker compose -f docker-compose.yml run test_runner /usr/local/bin/php tests/Tools/generate-stub-map 并提交生成的 PhpStormStubsMap.php

许可证

Apache 2

包含 PHP 文档组的材料,许可协议为 CC-BY 3.0