name | description | github |
---|---|---|
GraPHPinator |
A GraphQL implementation for modern PHP. Includes features from latest draft, middleware directives and modules with extra functionality. |
infinityloop-dev/graphpinator |
GraPHPinator is feature complete PHP implementation of GraphQL server. Its job is transformation of query string into resolved Json result for a given Schema.
- Aims to be compliant with the latest draft of GraphQL specification.
- Fully typesafe, and therefore minimum required PHP version is 8.0. Sacrafices a tiny bit of convenience for huge amount of clarity and safety - no random configuration
array
s, no mixed types, no variable function arguments - this library doesnt try to save you from verbosity, but makes sure you always know what you've got. - Code first.
- Flexible. Easy to extend with extra functionality using Modules or middleware Directives.
- Includes some opt-in extensions which are out of scope of official specs:
- Printer - Schema printing for GraPHPinator typesystem.
- Extra types - Some useful and commonly used types, both scalar or composite.
- Constraint directives - Typesystem directives to declare additional validation on top of GraphQL typesystem.
- Where directives - Executable directives to filter values in lists.
- File upload using multipart-formdata specs (currently bundled).
- Query cost limit module - Modules to limit query cost by restricting maximum depth or number of nodes.
- Project is composed from multiple smaller packages, which may be used standalone: