getpop/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 单一仓库(此软件包的源代码托管于此)。

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

安全

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

致谢

许可证

GNU 通用公共许可证第2版(或更新版)。有关更多信息,请参阅许可证文件