infinityloop-dev / graphpinator
Easy-to-use & Fast GraphQL server implementation for PHP.
Installs: 15 580
Dependents: 10
Suggesters: 0
Security: 0
Stars: 40
Watchers: 3
Forks: 8
Open Issues: 14
Requires
- php: >=8.1
- ext-json: *
- infinityloop-dev/graphpinator-common: ^2.0
- infinityloop-dev/graphpinator-parser: ^1.2
- infinityloop-dev/utils: ^2.3
- psr/http-message: ^2.0
- psr/log: ^3.0
Requires (Dev)
- infection/infection: ^0.27 || ^0.28 || ^0.29
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.4
- webthinx/codestyle: dev-main
Suggests
- infinityloop-dev/graphpinator-constraint-directives: Directives for additional value validation.
- infinityloop-dev/graphpinator-extra-types: Commonly used types, both scalar or composite.
- infinityloop-dev/graphpinator-nette: Adapters for Nette framework.
- infinityloop-dev/graphpinator-persisted-queries: Module to persist validated query in cache and improve performace of repeating queries.
- infinityloop-dev/graphpinator-printer: Schema printing in GraphQL language.
- infinityloop-dev/graphpinator-query-cost: Modules to limit query cost by restricting maximum depth or number of nodes.
- infinityloop-dev/graphpinator-upload: Module to handle multipart formdata requests.
- infinityloop-dev/graphpinator-where-directives: Directives for filtering list values.
- dev-master
- v1.7.5
- v1.7.4
- v1.7.3
- v1.7.2
- v1.7.1
- v1.7
- 1.6
- v1.5
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2
- v1.1.2
- v1.1.1
- v1.1
- v1.1-rc3
- v1.1-rc2
- v1.1-rc1
- v1.0.1
- v1.0
- v1.0-rc30
- v1.0-rc29-2
- v1.0-rc29
- v1.0-rc28
- v1.0-rc27
- v1.0-rc26
- v1.0-rc25
- v1.0-rc24
- v1.0-rc23-2
- v1.0-rc23
- v1.0-rc22
- v1.0-rc21
- v1.0-rc20
- v1.0-rc19
- v1.0-rc18
- v1.0-rc17
- v1.0-rc16
- v1.0-rc15
- v1.0-rc14
- v1.0-rc13
- v1.0-rc12
- v1.0-rc11+3
- v1.0-rc10+4
- v1.0-rc9
- v1.0-rc8
- v1.0-rc7+3
- v1.0-rc6+2
- v1.0-rc5
- v1.0-rc4
- v1.0-rc3
- v1.0-rc2
- v1.0-rc1
- v0.25.10
- v0.25.9
- v0.25.8
- v0.25.7
- v0.25.6
- v0.25.5
- v0.25.4
- v0.25.3
- v0.25.2
- v0.25.1
- v0.25
- v0.24.6
- v0.24.5
- v0.24.4
- v0.24.3
- v0.24.2
- v0.24.1
- v0.24
- v0.23
- v0.22.1
- v0.22
- v0.21.4
- v0.21.3
- v0.21.2
- v0.21.1
- v0.21
- 0.20.1
- 0.20
- v0.19
- v0.18.1
- v0.18
- v0.17.3
- v0.17.2
- v0.17.1
- v0.17
- v0.16.2
- v0.16.1
- v0.16
- v0.15.1
- 0.15
- v0.14.2
- v0.14.1
- v0.14
- v0.13
- v0.12.6
- v0.12.5
- v0.12.4
- v0.12.3
- v0.12.2
- v0.12.1
- v0.12
- v0.11
- v0.10
- v0.9
- v0.8.1
- v0.8
- v0.7
- v0.6
- v0.5
- v0.4
- v0.3
- v0.2.2
- v0.2.1
- v0.2
- v0.1
- dev-dependabot/composer/infection/infection-0.29.8
- dev-php74_bugfixes
This package is auto-updated.
Last update: 2024-11-04 04:43:30 UTC
README
⚡🌐⚡ Easy-to-use & Fast GraphQL server implementation for PHP.
Introduction
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 and its RFCs.
- Fully typesafe, and therefore minimum required PHP version is 8.1. Sacrifices 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:
- Includes adapters for easy integration into other PHP frameworks:
- Project is composed of multiple smaller packages, which may be used standalone:
Supporters
This project is being made with help by following companies and individuals. Thank you!
Installation
Install package using composer
composer require infinityloop-dev/graphpinator
How to use
- Visit our simple Hello world example.
- Or visit the complete Docs.
Dependencies
- PHP 8.1+
- Latest PHP 8.0+ version is 1.3.x
- Latest PHP 7.4+ version is 0.25.x
- psr/http-message
- psr/log
This list excludes graphpinator sub-packages such as graphpinator-common, graphpinator-tokenizer and others.
Contributing
This package is relatively new, so some features might be missing. If you stumble upon something that is not included or is not compliant with the specs, please inform us by creating an issue or discussion. This is not yet another package, where issues and pull-requests lie around for months, so dont hesitate and help us improve the library.