- Notifications
You must be signed in to change notification settings - Fork106
Use PHP Attributes to declare your GraphQL API
License
thecodingmachine/graphqlite
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
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 withSymfony andLaravel integrations available!
- Comes with batteries included 🔋: queries, mutations, subscriptions, mapping of arrays/iterators, file uploads, extendable types and more!
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 theProduct 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 thedocumentation!
Contributions are welcomed via pull requests. If you'd like to discuss prior to submitting a PR, consider adiscussion. If it's a bug/issue, you cansubmit an issue first.
All PRs should have sufficient test coverage for any additions or changes. PRs will not be merged without these.
About
Use PHP Attributes to declare your GraphQL API
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.