Skip to content


Repository files navigation

GraphQLite logo


GraphQL in PHP made easy.

Documentation · Contributing

Latest Stable Version Total Downloads License Continuous Integration Code Coverage

A GraphQL library for PHP that allows you to use attributes (or annotations) to define your schema and write your queries and mutations using simple-to-write controllers.


  • Create a complete GraphQL API by simply annotating your PHP classes
  • Framework agnostic, but with Symfony and Laravel integrations available!
  • Comes with batteries included 🔋: queries, mutations, subscriptions, mapping of arrays/iterators, file uploads, extendable types and more!

Basic example

First, declare a mutation in your controller:

class ProductController
    public function updateProduct(Product $product): Product
        // Some code that gets and updates a Product
        return $product;

Then, annotate the Product class to declare what fields are exposed to the GraphQL API:

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

That's it, you're good to go 🎉 mutate away!

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

Want to learn more? Head to the documentation!


Contributions are welcomed via pull requests. If you'd like to discuss prior to submitting a PR, consider a discussion. If it's a bug/issue, you can submit an issue first.

All PRs should have sufficient test coverage for any additions or changes. PRs will not be merged without these.