gulien / graphqlite

Use PHP Annotations to declare your GraphQL API

Home Page:https://graphqlite.thecodingmachine.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GraphQLite logo

GraphQLite

GraphQL in PHP made easy.

Documentation · Contributing


A library that allows you to write your GraphQL queries in simple-to-write controllers.

Features

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

Basic example

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!

Badges

Latest Stable Version Total Downloads Latest Unstable Version License Scrutinizer Code Quality Build Status Coverage Status

About

Use PHP Annotations to declare your GraphQL API

https://graphqlite.thecodingmachine.io


Languages

Language:PHP 94.8%Language:JavaScript 5.0%Language:CSS 0.2%