giacocorsiglia / wordpress-stubs
WordPress函数、类和全局变量声明占位符,以便更容易进行静态分析。
Requires (Dev)
- php: ^7.1
- ext-gettext: *
- giacocorsiglia/stubs-generator: ^0.5.0
- johnpbloch/wordpress: 5.1.1
README
你应该使用php-stubs/wordpress-stubs的分支,感谢@szepeviktor。
WordPress占位符
此软件包提供WordPress核心函数、类、接口和全局变量的声明。这些占位符可以帮助插件和主题开发者利用像Psalm这样的静态分析工具,这些工具通常不喜欢解析所有WordPress代码。
这些占位符直接使用giacocorsiglia/stubs-generator从源代码生成。不用说,这个库重新包装了WordPress代码的一个子集,这是WordPress核心开发者的工作。当然,没有实际的东西,这个子集是无用的!
安装
使用Composer将此软件包作为开发依赖项
composer require --dev giacocorsiglia/wordpress-stubs
或者,您可以直接下载wordpress-stubs.php
。
与Psalm一起使用
更新您的Psalm配置以包括该部分
<stubs> <file name="vendor/giacocorsiglia/wordpress-stubs/wordpress-stubs.php" /> </stubs>
此外,请确保WordPress核心代码不包含在<projectFiles>
下。
用于Intellisense
如果您的编辑器难以解析所有WordPress代码,您可能会发现这些占位符对于启用代码补全和相关功能很有用。例如,这里提供了与VSCode的Intelephense扩展一起使用的说明。(然而,在我的经验中,Intelephense解析WordPress核心非常顺利。)
版本控制
此软件包的版本与生成占位符的WordPress版本相匹配。如果需要任何占位符的修复,后续版本将版本化为WP_VERSION.X
。
为不同版本的WordPress生成占位符
您应该运行PHP 7.1或更高版本以执行以下步骤,因此将排除所有针对旧版本PHP的函数定义,这些函数定义是作为polyfill的。此外,占位符生成器软件包至少需要PHP 7.1。
- 克隆此存储库并
cd
进入它。 - 在
composer.json
中将"johnpbloch/wordpress": "X.X.X"
更新为您的所需版本。 - 运行
composer update
- 运行
./generate.sh
现在应该更新了wordpress-stubs.php
文件。如果您希望看到针对新版本的发布,请随时提交一个Pull Request。如果事情落后了,请为每个缺少的版本在单独的提交中生成占位符,以便我们有一个连续的发布历史。
贡献
请查看CONTRIBUTING.md
。