Skip to content

Repository files navigation

GraphQLite logo

GraphQLite

GraphQL in PHP made easy.

Documentation · Contributing

Latest Stable VersionTotal DownloadsLicenseContinuous IntegrationCode 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.

Features

  • 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, mapping of arrays/iterators, file uploads, extendable types and more!

Basic example

First, declare a mutation in your controller:

class ProductController
{
#[Mutation]
publicfunctionupdateProduct(Product$product): Product
{
// Some code that gets and updates a Productreturn$product;
}
}

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

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

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

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

Want to learn more? Head to the documentation!

About

Use PHP Annotations to declare your GraphQL API

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages