GraphQL in PHP made easy.
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, mapping of arrays/iterators, file uploads, extendable types and more!
First, declare a query in your controller:
class ProductController
{
#[Query]
public function product(string $id): Product
{
// Some code that looks for a product and returns it.
}
}
Then, annotate the Product
class to declare what fields are exposed to the GraphQL API:
#[Type]
class Product
{
#[Field]
public function getName(): string
{
return $this->name;
}
// ...
}
That's it, you're good to go 🎉 Query and enjoy!
{
product(id: 42) {
name
}
}
Want to learn more? Head to the documentation!