A PHP port of GraphQL reference implementation
Find a file
Daniel Tschinder 06c6c4bd97 Validate schema root types and directives
This moves validation out of GraphQLSchema's constructor (but not yet from other type constructors), which is responsible for root type validation and interface implementation checking.

Reduces time to construct GraphQLSchema significantly, shifting the time to validation.

This also allows for much looser rules within the schema builders, which implicitly validate while trying to adhere to flow types. Instead we use any casts to loosen the rules to defer that to validation where errors can be richer.

This also loosens the rule that a schema can only be constructed if it has a query type, moving that to validation as well. That makes flow typing slightly less nice, but allows for incremental schema building which is valuable

ref: graphql/graphql-js#1124
2018-02-13 10:42:35 +01:00
benchmarks Removed schema descriptor (as lazy loading of types can work without it now) 2017-08-14 01:42:02 +07:00
docs Validate schema root types and directives 2018-02-13 10:42:35 +01:00
examples Fix parsing of default values in build-schema 2018-02-10 18:45:23 +01:00
src Validate schema root types and directives 2018-02-13 10:42:35 +01:00
tests Validate schema root types and directives 2018-02-13 10:42:35 +01:00
tools Update to match SDL changes 2018-02-11 13:27:26 +01:00
.gitattributes update ignore files 2018-01-02 10:02:18 -05:00
.gitignore Updated .gitignore 2015-07-16 00:13:12 +06:00
.travis.yml Server: fixed broken Travis build 2017-08-15 21:56:21 +07:00
CHANGELOG.md v0.11.5 2017-12-12 16:03:21 +07:00
composer.json Switched license to MIT for full compatibility with graphql-js 2018-01-19 14:12:52 +07:00
CONTRIBUTING.md Added CONTRIBUTING.md and updated README.md 2017-08-22 17:05:54 +07:00
LICENSE Switched license to MIT for full compatibility with graphql-js 2018-01-19 14:12:52 +07:00
mkdocs.yml Documentation improvements 2017-08-20 22:10:37 +07:00
phpbench.json Added phpbench for benchmarking 2016-09-14 18:41:02 +07:00
phpunit.xml.dist Changed ReactPromiseAdapter::all to preserve the array key order and added tests 2016-12-22 15:08:28 +02:00
README.md Added entry about graphql.org in the README + minor README tweaks 2017-08-22 17:24:17 +07:00
UPGRADE.md Add Docs 2018-02-10 18:46:37 +01:00

graphql-php

Build Status Coverage Status Latest Stable Version License

This is a PHP implementation of the GraphQL specification based on the reference implementation in JavaScript.

Installation

Via composer:

composer require webonyx/graphql-php

Documentation

Full documentation is available on the Documentation site as well as in the docs folder of the distribution.

If you don't know what GraphQL is, visit this official website by the Facebook engineering team.

Examples

There are several ready examples in the examples folder of the distribution with specific README file per example.

Contribute

Please refer to CONTRIBUTING.md for information on how to contribute.

Old README.md

Here is a link to the old README.md.

Keep in mind that it relates to the version 0.9.x. It may contain outdated information for newer versions (even though we try to preserve backwards compatibility).