知海

PHP:Graphpinator(服务端)

graphql-github-io-zh-Hans生态项目与库

PHP:Graphpinator(服务端)

属性
名称 GraPHPinator
描述 面向现代 PHP 的 GraphQL 实现。包含最新草案中的特性、中间件指令以及提供额外功能的模块。
官网 https://github.com/infinityloop-dev/graphpinator
GitHub infinityloop-dev/graphpinator

GraPHPinator 是 GraphQL 服务器的功能完备的 PHP 实现。它的工作是将查询字符串针对给定的 Schema 转换为已解析的 Json 结果。

  • 目标是与最新版的 GraphQL 规范草案保持一致。
  • 完全类型安全,因此最低 PHP 版本要求为 8.0。为了极大的清晰度和安全性,牺牲了一小部分便利性——没有随意的配置 array、没有混合类型、没有可变函数参数——这个库并不试图让你免于编写冗长代码,而是确保你始终清楚自己拥有什么。
  • 代码优先(Code first)。
  • 灵活。可以通过模块(Modules)或中间件指令(middleware Directives)轻松扩展额外功能。
  • 包含一些官方规范范围之外的可选扩展:
    • Printer - 用于 GraPHPinator 类型系统的 Schema 打印。
    • Extra types - 一些有用且常用的类型,包括标量类型和复合类型。
    • Constraint directives - 用于在 GraphQL 类型系统之上声明额外校验的类型系统指令。
    • Where directives - 用于过滤列表中值的可执行指令。
    • 使用 multipart-formdata 规范进行文件上传(当前已内置)。
    • Query cost limit module - 通过限制最大深度或节点数量来限制查询成本的模块。
  • 项目由多个较小的包组成,这些包可以独立使用:
    • Tokenizer - GraphQL 文档的词法分析器。
    • Parser - GraphQL 文档的语法分析器。

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。