mirror of
https://github.com/retailcrm/graphql-php.git
synced 2025-02-06 07:49:24 +03:00
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
graphql-php
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).
Languages
PHP
100%