pop-api/api-graphql

基于PoP API的GraphQL的扩展/升级实现,基于PHP实现

5.0.0 2024-09-07 03:33 UTC

README

GraphQL的扩展/升级实现。此实现是一个要在PoP API之上安装的包。

安装

通过Composer

composer require pop-api/api-graphql

开发

源代码托管在GatoGraphQL monorepo,位于API/packages/api-graphql

要启用美观的API端点/api/graphql/,请按照此处的说明操作

注意:如果您希望安装一个完全工作的API,请按照Bootstrap a PoP API for WordPress(尽管是CMS无关的,但目前只实现了WordPress适配器)下的说明操作。

用法

初始化组件

\PoP\Root\App::stockAndInitializeModuleClasses([([
    \PoPAPI\GraphQLAPI\Module::class,
]);

特性

类型自动命名空间

命名空间(建议添加到GraphQL规范中)有助于管理模式复杂性。这可以避免不同类型具有相同的名称,这在从第三方嵌入组件时可能会发生。

这是在GraphQL Voyager中正常模式的外观

Interactive schema

这是它的命名空间版本的外观

Namespaced interactive schema

基于字段/指令的版本控制

字段和指令可以独立进行版本控制,并且可以通过字段/指令参数versionConstraint在查询中指定要使用的版本。

要选择字段/指令的版本,我们使用相同的Composer使用的semver版本约束

PHP版本

要求

  • 开发需要PHP 8.1+
  • 生产需要PHP 7.2+

支持的PHP功能

请查看GatoGraphQL/GatoGraphQL中的支持PHP功能列表

预览降级到PHP 7.2

通过Rector(dry-run模式)

composer preview-code-downgrade

标准

PSR-1PSR-4PSR-12

要检查编码标准,请使用PHP CodeSniffer运行

composer check-style

要自动修复问题,请运行

composer fix-style

变更日志

请查看CHANGELOG以获取有关最近更改的更多信息。

测试

要执行PHPUnit,请运行

composer test

静态分析

要执行PHPStan,请运行

composer analyse

报告问题

要报告错误或请求新功能,请在GatoGraphQL monorepo问题跟踪器中操作。

贡献

我们欢迎对这个包在GatoGraphQL monorepo(该包的源代码托管在此)上的贡献。

请参阅CONTRIBUTINGCODE_OF_CONDUCT以获取详细信息。

安全

如果您发现任何安全相关的问题,请发送电子邮件至leo@getpop.org,而不是使用问题跟踪器。

致谢

许可协议

GNU通用公共许可证第2版(或更新版本)。请参阅许可文件以获取更多信息。