GraphQL is a modern way to build HTTP APIs consumed by the web and mobile clients. It is intended to be an alternative to REST and SOAP APIs (even for existing applications).
Great overview of GraphQL features and benefits is presented on the official website. All of them equally apply to this PHP implementation.
This library is a thin wrapper around your existing data layer and business logic. It doesn't dictate how these layers are implemented or which storage engines are used. Instead, it provides tools for creating rich API for your existing app.
Library features include:
- Primitives to express your app as a Type System
- Validation and introspection of this Type System (for compatibility with tools like GraphiQL)
- Parsing, validating and executing GraphQL queries against this Type System
- Rich error reporting, including query validation and execution errors
- Optional tools for parsing schema definition language
- Tools for batching requests to backend storage
- Async PHP platforms support via promises
- Standard HTTP server
Also, several complementary tools are available which provide integrations with existing PHP frameworks, add support for Relay, etc.
The first version of this library (v0.1) was released on August 10th 2015.
Ready for real-world usage.
Project source code is hosted on GitHub.