Skip to content

Commit fec254f

Browse files
authored
Merge pull request graphql#1052 from peldax/patch-3
Added more detailed graphpinator description
2 parents 15fb368 + b8d7c32 commit fec254f

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed
Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,23 @@
11
---
22
name: GraPHPinator
3-
description: A GraphQL implementation for modern PHP
3+
description: A GraphQL implementation for modern PHP. Includes features from latest draft, middleware directives and modules with extra functionality.
44
url: https://github.com/infinityloop-dev/graphpinator
55
github: infinityloop-dev/graphpinator
66
---
77

8+
GraPHPinator is feature complete PHP implementation of GraphQL server. Its job is transformation of query string into resolved Json result for a given Schema.
89

10+
- Aims to be compliant with the latest draft of GraphQL specification.
11+
- 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.
12+
- Code first.
13+
- Flexible. Easy to extend with extra functionality using Modules or middleware Directives.
14+
- Includes some opt-in extensions which are out of scope of official specs:
15+
- [Printer](https://github.com/infinityloop-dev/graphpinator-printer) - Schema printing for GraPHPinator typesystem.
16+
- [Extra types](https://github.com/infinityloop-dev/graphpinator-extra-types) - Some useful and commonly used types, both scalar or composite.
17+
- [Constraint directives](https://github.com/infinityloop-dev/graphpinator-constraint-directives) - Typesystem directives to declare additional validation on top of GraphQL typesystem.
18+
- [Where directives](https://github.com/infinityloop-dev/graphpinator-where-directives) - Executable directives to filter values in lists.
19+
- File upload using [multipart-formdata](https://github.com/jaydenseric/graphql-multipart-request-spec) specs (currently bundled).
20+
- [Query cost limit module](https://github.com/infinityloop-dev/graphpinator-query-cost) - Modules to limit query cost by restricting maximum depth or number of nodes.
21+
- Project is composed from multiple smaller packages, which may be used standalone:
22+
- [Tokenizer](https://github.com/infinityloop-dev/graphpinator-tokenizer) - Lexical analyzer of GraphQL document.
23+
- [Parser](https://github.com/infinityloop-dev/graphpinator-parser) - Syntactic analyzer of GraphQL document.

0 commit comments

Comments
 (0)