Stars: 512
Forks: 79
Pull Requests: 312
Issues: 196
Watchers: 21
Last Updated: 2022-12-17 11:15:31
Use PHP Attributes/Annotations to declare your GraphQL API
License: MIT License
Languages: PHP, JavaScript, CSS, Shell
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.
First, declare a mutation in your controller:
class ProductController
{
#[Mutation]
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:
#[Type]
#[Input(update: true)]
class Product
{
#[Field]
public function getName(): string
{
return $this->name;
}
#[Field]
public function setName(string $name): void
{
$this->name = $name;
}
// ...
}
That's it, you're good to go
{
updateProduct(product: {
name: 'John Doe'
}) {
name
}
}
Want to learn more? Head to the documentation!