diff --git a/index.html b/index.html index 35b187e..1a3bb09 100755 --- a/index.html +++ b/index.html @@ -219,9 +219,9 @@ are used. Instead, it provides tools for creating rich API for your existing app
  • Parsing, validating and executing GraphQL queries against this Type System
  • Rich error reporting, including query validation and execution errors
  • Optional tools for parsing GraphQL Type language
  • -
  • Tools for batching requests to backend storage
  • -
  • Async PHP platforms support via promises
  • -
  • Standard HTTP server
  • +
  • Tools for batching requests to backend storage
  • +
  • Async PHP platforms support via promises
  • +
  • Standard HTTP server
  • Also, several complementary tools are available which provide integrations with existing PHP frameworks, add support for Relay, etc.

    @@ -280,5 +280,5 @@ existing PHP frameworks, add support for Relay, etc.

    diff --git a/mkdocs/search_index.json b/mkdocs/search_index.json index b251f80..27d7a3d 100755 --- a/mkdocs/search_index.json +++ b/mkdocs/search_index.json @@ -327,22 +327,22 @@ }, { "location": "/type-system/type-language/", - "text": "Defining your schema\n\n\nType language\n is a convenient way to define your schema,\nespecially with IDE autocompletion and syntax validation.\n\n\nHere is a simple schema defined in GraphQL type language (e.g. in a separate \nschema.graphql\n file):\n\n\nschema {\n query: Query\n mutation: Mutation\n}\n\ntype Query {\n greetings(input: HelloInput!): String!\n}\n\ninput HelloInput {\n firstName: String!\n lastName: String\n}\n\n\n\n\nIn order to create schema instance out of this file, use \n\nGraphQL\\Utils\\BuildSchema\n:\n\n\ntoArray(), true));\n} else {\n $document = AST::fromArray(require $cacheFilename); // fromArray() is a lazy operation as well\n}\n\n$typeConfigDecorator = function () {};\n$schema = BuildSchema::build($document, $typeConfigDecorator);", + "text": "Defining your schema\n\n\nSince 0.9.0\n\n\nType language\n is a convenient way to define your schema,\nespecially with IDE autocompletion and syntax validation.\n\n\nHere is a simple schema defined in GraphQL type language (e.g. in a separate \nschema.graphql\n file):\n\n\nschema {\n query: Query\n mutation: Mutation\n}\n\ntype Query {\n greetings(input: HelloInput!): String!\n}\n\ninput HelloInput {\n firstName: String!\n lastName: String\n}\n\n\n\n\nIn order to create schema instance out of this file, use \n\nGraphQL\\Utils\\BuildSchema\n:\n\n\ntoArray(), true));\n} else {\n $document = AST::fromArray(require $cacheFilename); // fromArray() is a lazy operation as well\n}\n\n$typeConfigDecorator = function () {};\n$schema = BuildSchema::build($document, $typeConfigDecorator);", "title": "Using Type Language" }, { "location": "/type-system/type-language/#defining-your-schema", - "text": "Type language is a convenient way to define your schema,\nespecially with IDE autocompletion and syntax validation. Here is a simple schema defined in GraphQL type language (e.g. in a separate schema.graphql file): schema {\n query: Query\n mutation: Mutation\n}\n\ntype Query {\n greetings(input: HelloInput!): String!\n}\n\ninput HelloInput {\n firstName: String!\n lastName: String\n} In order to create schema instance out of this file, use GraphQL\\Utils\\BuildSchema : toArray(), true));\n} else {\n $document = AST::fromArray(require $cacheFilename); // fromArray() is a lazy operation as well\n}\n\n$typeConfigDecorator = function () {};\n$schema = BuildSchema::build($document, $typeConfigDecorator);", + "text": "Since 0.10.0 Method build() produces a lazy schema \nautomatically, so it works efficiently even with very large schemas. But parsing type definition file on each request is suboptimal, so it is recommended to cache \nintermediate parsed representation of the schema for the production environment: toArray(), true));\n} else {\n $document = AST::fromArray(require $cacheFilename); // fromArray() is a lazy operation as well\n}\n\n$typeConfigDecorator = function () {};\n$schema = BuildSchema::build($document, $typeConfigDecorator);", "title": "Performance considerations" }, { diff --git a/sitemap.xml b/sitemap.xml index 781dff5..6af8aae 100755 --- a/sitemap.xml +++ b/sitemap.xml @@ -4,7 +4,7 @@ / - 2017-08-21 + 2017-09-05 daily @@ -12,7 +12,7 @@ /getting-started/ - 2017-08-21 + 2017-09-05 daily @@ -20,7 +20,7 @@ /complementary-tools/ - 2017-08-21 + 2017-09-05 daily @@ -29,67 +29,67 @@ /type-system/ - 2017-08-21 + 2017-09-05 daily /type-system/object-types/ - 2017-08-21 + 2017-09-05 daily /type-system/scalar-types/ - 2017-08-21 + 2017-09-05 daily /type-system/enum-types/ - 2017-08-21 + 2017-09-05 daily /type-system/lists-and-nonnulls/ - 2017-08-21 + 2017-09-05 daily /type-system/interfaces/ - 2017-08-21 + 2017-09-05 daily /type-system/unions/ - 2017-08-21 + 2017-09-05 daily /type-system/input-types/ - 2017-08-21 + 2017-09-05 daily /type-system/directives/ - 2017-08-21 + 2017-09-05 daily /type-system/schema/ - 2017-08-21 + 2017-09-05 daily /type-system/type-language/ - 2017-08-21 + 2017-09-05 daily @@ -98,7 +98,7 @@ /executing-queries/ - 2017-08-21 + 2017-09-05 daily @@ -106,7 +106,7 @@ /data-fetching/ - 2017-08-21 + 2017-09-05 daily @@ -114,7 +114,7 @@ /error-handling/ - 2017-08-21 + 2017-09-05 daily @@ -122,7 +122,7 @@ /security/ - 2017-08-21 + 2017-09-05 daily @@ -130,7 +130,7 @@ /how-it-works/ - 2017-08-21 + 2017-09-05 daily @@ -138,7 +138,7 @@ /reference/ - 2017-08-21 + 2017-09-05 daily diff --git a/type-system/type-language/index.html b/type-system/type-language/index.html index e8d617f..b498acc 100755 --- a/type-system/type-language/index.html +++ b/type-system/type-language/index.html @@ -192,6 +192,7 @@

    Defining your schema

    +

    Since 0.9.0

    Type language is a convenient way to define your schema, especially with IDE autocompletion and syntax validation.

    Here is a simple schema defined in GraphQL type language (e.g. in a separate schema.graphql file):

    @@ -224,6 +225,7 @@ because it is impossible to resolve actual implementations during execution.

    Also, we have to rely on default field resolver and root value in order to execute a query against this schema.

    Defining resolvers

    +

    Since 0.10.0

    In order to enable Interfaces, Unions and custom field resolvers you can pass the second argument: type config decorator to schema builder.

    It accepts default type config produced by the builder and is expected to add missing options like @@ -243,6 +245,7 @@ $schema = BuildSchema::build($contents, $typeConfigDecorator);

    Performance considerations

    +

    Since 0.10.0

    Method build() produces a lazy schema automatically, so it works efficiently even with very large schemas.

    But parsing type definition file on each request is suboptimal, so it is recommended to cache