thecodingmachine/graphqlite

使用webonyx/graphql-php编写简单易写的控制器来编写你的GraphQL查询。

安装: 1,344,292

依赖关系: 31

建议者: 0

安全性: 0

星标: 555

关注者: 21

分支: 95

开放问题: 47

语言:MDX

v7.0.0 2024-03-20 05:50 UTC

README

GraphQLite logo

GraphQLite

让PHP中的GraphQL变得简单。

文档 · 贡献

Latest Stable Version Total Downloads License Continuous Integration Code Coverage

一个PHP的GraphQL库,允许你使用属性(或注解)来定义你的模式,并使用简单易写的控制器来编写查询和突变。

功能

  • 通过简单地注释你的PHP类来创建一个完整的GraphQL API
  • 框架无关,但提供了SymfonyLaravel集成!
  • 内置功能丰富🔋:查询、突变、订阅、数组/迭代器映射、文件上传、可扩展类型等!

基本示例

首先,在你的控制器中声明一个突变

class ProductController
{
    #[Mutation]
    public function updateProduct(Product $product): Product
    {
        // Some code that gets and updates a Product
        return $product;
    }
}

然后,注释Product类以声明暴露给GraphQL API的字段

#[Type]
#[Input(update: true)]
class Product
{
    #[Field]
    public function getName(): string
    {
        return $this->name;
    }
    
    #[Field]
    public function setName(string $name): void
    {
        $this->name = $name;
    }
    
    // ...
}

就这样,你已经准备好开始🎉突变操作了!

{
  updateProduct(product: {
    name: 'John Doe'
  }) {
    name
  }
}

想了解更多?前往文档

贡献

通过pull请求欢迎贡献。如果你想在提交PR之前进行讨论,请考虑在讨论。如果是bug/问题,你可以在提交问题之前。

所有PR都应该有足够的测试覆盖率,以添加或更改任何内容。没有这些,PR将不会被合并。