2016-11-08 16:41:38 +03:00
<!DOCTYPE html>
<!-- [if IE 8]><html class="no - js lt - ie9" lang="en" > <![endif] -->
<!-- [if gt IE 8]><! --> < html class = "no-js" lang = "en" > <!-- <![endif] -->
< head >
< meta charset = "utf-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
2017-04-25 14:15:40 +03:00
< meta name = "description" content = "None" >
2016-11-08 16:41:38 +03:00
2018-11-27 16:06:49 +03:00
< link rel = "shortcut icon" href = "img/favicon.ico" >
2017-04-25 14:15:40 +03:00
< title > About - graphql-php< / title >
2016-11-08 16:41:38 +03:00
< link href = 'https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel = 'stylesheet' type = 'text/css' >
2018-11-27 16:06:49 +03:00
< link rel = "stylesheet" href = "css/theme.css" type = "text/css" / >
< link rel = "stylesheet" href = "css/theme_extra.css" type = "text/css" / >
< link rel = "stylesheet" href = "//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" >
2016-11-08 16:41:38 +03:00
< script >
// Current page data
2017-04-25 14:15:40 +03:00
var mkdocs_page_name = "About";
2016-11-08 16:41:38 +03:00
var mkdocs_page_input_path = "index.md";
2018-11-27 16:06:49 +03:00
var mkdocs_page_url = null;
2016-11-08 16:41:38 +03:00
< / script >
2018-11-27 16:06:49 +03:00
< script src = "js/jquery-2.1.1.min.js" defer > < / script >
< script src = "js/modernizr-2.8.3.min.js" defer > < / script >
< script src = "//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js" > < / script >
< script > hljs . initHighlightingOnLoad ( ) ; < / script >
2016-11-08 16:41:38 +03:00
< / head >
< body class = "wy-body-for-nav" role = "document" >
< div class = "wy-grid-for-nav" >
< nav data-toggle = "wy-nav-shift" class = "wy-nav-side stickynav" >
< div class = "wy-side-nav-search" >
< a href = "." class = "icon icon-home" > graphql-php< / a >
< div role = "search" >
< form id = "rtd-search-form" class = "wy-form" action = "./search.html" method = "get" >
2018-11-27 16:06:49 +03:00
< input type = "text" name = "q" placeholder = "Search docs" title = "Type search term here" / >
2016-11-08 16:41:38 +03:00
< / form >
< / div >
< / div >
< div class = "wy-menu wy-menu-vertical" data-spy = "affix" role = "navigation" aria-label = "main navigation" >
2017-04-25 14:15:40 +03:00
< ul class = "current" >
2016-11-08 16:41:38 +03:00
2017-04-25 14:15:40 +03:00
< li class = "toctree-l1 current" >
< a class = "current" href = "." > About< / a >
2016-11-08 16:41:38 +03:00
< ul class = "subnav" >
2017-04-25 14:15:40 +03:00
< li class = "toctree-l2" > < a href = "#about-graphql" > About GraphQL< / a > < / li >
2016-11-08 16:41:38 +03:00
2017-04-25 14:15:40 +03:00
< li class = "toctree-l2" > < a href = "#about-graphql-php" > About graphql-php< / a > < / li >
< ul >
2016-11-08 16:41:38 +03:00
2017-04-25 14:15:40 +03:00
< li > < a class = "toctree-l3" href = "#current-status" > Current Status< / a > < / li >
2016-11-08 16:41:38 +03:00
2018-04-20 12:39:52 +03:00
< li > < a class = "toctree-l3" href = "#github" > GitHub< / a > < / li >
2016-11-08 16:41:38 +03:00
2017-04-25 14:15:40 +03:00
< / ul >
2016-11-08 16:41:38 +03:00
< / ul >
2017-04-25 14:15:40 +03:00
< / li >
2016-11-08 16:41:38 +03:00
2017-04-25 14:15:40 +03:00
< li class = "toctree-l1" >
< a class = "" href = "getting-started/" > Getting Started< / a >
< / li >
2016-12-14 16:23:08 +03:00
2017-04-25 14:15:40 +03:00
< li class = "toctree-l1" >
2017-08-20 19:28:59 +03:00
< a class = "" href = "complementary-tools/" > Complementary Tools< / a >
< / li >
< li class = "toctree-l1" >
< span class = "caption-text" > Type Definitions< / span >
2017-04-25 14:15:40 +03:00
< ul class = "subnav" >
< li class = "" >
< a class = "" href = "type-system/" > Introduction< / a >
< / li >
< li class = "" >
< a class = "" href = "type-system/object-types/" > Object Types< / a >
< / li >
< li class = "" >
< a class = "" href = "type-system/scalar-types/" > Scalar Types< / a >
< / li >
< li class = "" >
< a class = "" href = "type-system/enum-types/" > Enumeration Types< / a >
< / li >
< li class = "" >
< a class = "" href = "type-system/lists-and-nonnulls/" > Lists and Non-Null< / a >
< / li >
< li class = "" >
< a class = "" href = "type-system/interfaces/" > Interfaces< / a >
< / li >
< li class = "" >
< a class = "" href = "type-system/unions/" > Unions< / a >
< / li >
< li class = "" >
2017-08-20 19:28:59 +03:00
< a class = "" href = "type-system/input-types/" > Mutations and Input Types< / a >
2017-04-25 14:15:40 +03:00
< / li >
< li class = "" >
< a class = "" href = "type-system/directives/" > Directives< / a >
< / li >
< li class = "" >
< a class = "" href = "type-system/schema/" > Schema< / a >
< / li >
2017-08-20 19:28:59 +03:00
< li class = "" >
< a class = "" href = "type-system/type-language/" > Using Type Language< / a >
< / li >
2017-04-25 14:15:40 +03:00
< / ul >
< / li >
2016-11-08 16:41:38 +03:00
2017-04-25 14:15:40 +03:00
< li class = "toctree-l1" >
< a class = "" href = "executing-queries/" > Executing Queries< / a >
< / li >
2016-11-08 16:41:38 +03:00
2017-04-25 14:15:40 +03:00
< li class = "toctree-l1" >
< a class = "" href = "data-fetching/" > Fetching Data< / a >
< / li >
< li class = "toctree-l1" >
< a class = "" href = "error-handling/" > Handling Errors< / a >
< / li >
< li class = "toctree-l1" >
2017-08-20 19:28:59 +03:00
< a class = "" href = "security/" > Security< / a >
< / li >
< li class = "toctree-l1" >
< a class = "" href = "how-it-works/" > How it works< / a >
< / li >
< li class = "toctree-l1" >
< a class = "" href = "reference/" > Class Reference< / a >
2017-04-25 14:15:40 +03:00
< / li >
2016-11-08 16:41:38 +03:00
< / ul >
< / div >
< / nav >
< section data-toggle = "wy-nav-shift" class = "wy-nav-content-wrap" >
< nav class = "wy-nav-top" role = "navigation" aria-label = "top navigation" >
< i data-toggle = "wy-nav-top" class = "fa fa-bars" > < / i >
< a href = "." > graphql-php< / a >
< / nav >
< div class = "wy-nav-content" >
< div class = "rst-content" >
< div role = "navigation" aria-label = "breadcrumbs navigation" >
< ul class = "wy-breadcrumbs" >
< li > < a href = "." > Docs< / a > » < / li >
< li > About< / li >
< li class = "wy-breadcrumbs-aside" >
< / li >
< / ul >
< hr / >
< / div >
< div role = "main" >
< div class = "section" >
2016-11-25 14:10:10 +03:00
< p > < a href = "https://github.com/webonyx/graphql-php" > < img alt = "GitHub stars" src = "https://img.shields.io/github/stars/webonyx/graphql-php.svg?style=social&label=Star" / > < / a >
< a href = "https://travis-ci.org/webonyx/graphql-php" > < img alt = "Build Status" src = "https://travis-ci.org/webonyx/graphql-php.svg?branch=master" / > < / a >
< a href = "https://coveralls.io/github/webonyx/graphql-php" > < img alt = "Coverage Status" src = "https://coveralls.io/repos/github/webonyx/graphql-php/badge.svg" / > < / a >
< a href = "https://packagist.org/packages/webonyx/graphql-php" > < img alt = "Latest Stable Version" src = "https://poser.pugx.org/webonyx/graphql-php/version" / > < / a >
< a href = "https://packagist.org/packages/webonyx/graphql-php" > < img alt = "License" src = "https://poser.pugx.org/webonyx/graphql-php/license" / > < / a > < / p >
< h1 id = "about-graphql" > About GraphQL< / h1 >
2017-08-20 19:28:59 +03:00
< p > GraphQL is a modern way to build HTTP APIs consumed by the web and mobile clients.
2019-03-04 15:04:18 +03:00
It is intended to be an alternative to REST and SOAP APIs (even for < strong > existing applications< / strong > ).< / p >
2016-11-08 16:41:38 +03:00
< p > GraphQL itself is a < a href = "https://github.com/facebook/graphql" > specification< / a > designed by Facebook
engineers. Various implementations of this specification were written
2017-08-20 19:28:59 +03:00
< a href = "http://graphql.org/code/" > in different languages and environments< / a > .< / p >
< p > Great overview of GraphQL features and benefits is presented on < a href = "http://graphql.org/" > the official website< / a > .
2016-11-08 16:41:38 +03:00
All of them equally apply to this PHP implementation. < / p >
< h1 id = "about-graphql-php" > About graphql-php< / h1 >
2017-08-20 19:28:59 +03:00
< p > < strong > graphql-php< / strong > is a feature-complete implementation of GraphQL specification in PHP (5.5+, 7.0+).
2016-11-08 16:41:38 +03:00
It was originally inspired by < a href = "https://github.com/graphql/graphql-js" > reference JavaScript implementation< / a >
published by Facebook.< / p >
< p > This library is a thin wrapper around your existing data layer and business logic.
It doesn't dictate how these layers are implemented or which storage engines
2017-08-20 19:28:59 +03:00
are used. Instead, it provides tools for creating rich API for your existing app.< / p >
< p > Library features include:< / p >
2016-11-08 16:41:38 +03:00
< ul >
2017-08-20 19:28:59 +03:00
< li > Primitives to express your app as a < a href = "type-system/" > Type System< / a > < / li >
< li > Validation and introspection of this Type System (for compatibility with tools like < a href = "complementary-tools/#tools" > GraphiQL< / a > )< / li >
< li > Parsing, validating and < a href = "executing-queries/" > executing GraphQL queries< / a > against this Type System< / li >
< li > Rich < a href = "error-handling/" > error reporting< / a > , including query validation and execution errors< / li >
< li > Optional tools for < a href = "type-system/type-language/" > parsing GraphQL Type language< / a > < / li >
2017-09-05 11:30:30 +03:00
< li > Tools for < a href = "data-fetching/#solving-n1-problem" > batching requests< / a > to backend storage< / li >
< li > < a href = "data-fetching/#async-php" > Async PHP platforms support< / a > via promises< / li >
< li > < a href = "executing-queries/#using-server" > Standard HTTP server< / a > < / li >
2016-11-08 16:41:38 +03:00
< / ul >
2017-08-20 19:28:59 +03:00
< p > Also, several < a href = "complementary-tools/" > complementary tools< / a > are available which provide integrations with
2016-11-08 16:41:38 +03:00
existing PHP frameworks, add support for Relay, etc.< / p >
< h2 id = "current-status" > Current Status< / h2 >
2017-08-20 19:28:59 +03:00
< p > The first version of this library (v0.1) was released on August 10th 2015.< / p >
2018-11-27 16:09:02 +03:00
< p > The current version supports all features described by GraphQL specification
as well as some experimental features like
2017-08-20 19:28:59 +03:00
< a href = "type-system/type-language/" > Schema Language parser< / a > and
< a href = "reference/#graphqlutilsschemaprinter" > Schema printer< / a > .< / p >
2016-12-14 16:34:55 +03:00
< p > Ready for real-world usage. < / p >
2018-04-20 12:39:52 +03:00
< h2 id = "github" > GitHub< / h2 >
2016-11-25 14:10:10 +03:00
< p > Project source code is < a href = "https://github.com/webonyx/graphql-php" > hosted on GitHub< / a > .< / p >
2016-11-08 16:41:38 +03:00
< / div >
< / div >
< footer >
< div class = "rst-footer-buttons" role = "navigation" aria-label = "footer navigation" >
< a href = "getting-started/" class = "btn btn-neutral float-right" title = "Getting Started" > Next < span class = "icon icon-circle-arrow-right" > < / span > < / a >
< / div >
< hr / >
< div role = "contentinfo" >
<!-- Copyright etc -->
< / div >
Built with < a href = "http://www.mkdocs.org" > MkDocs< / a > using a < a href = "https://github.com/snide/sphinx_rtd_theme" > theme< / a > provided by < a href = "https://readthedocs.org" > Read the Docs< / a > .
< / footer >
2018-04-20 12:39:52 +03:00
2016-11-08 16:41:38 +03:00
< / div >
< / div >
< / section >
2018-04-20 12:39:52 +03:00
2016-11-08 16:41:38 +03:00
< / div >
2017-04-25 14:15:40 +03:00
< div class = "rst-versions" role = "note" style = "cursor: pointer" >
2016-11-08 16:41:38 +03:00
< span class = "rst-current-version" data-toggle = "rst-current-version" >
< span style = "margin-left: 15px" > < a href = "getting-started/" style = "color: #fcfcfc" > Next » < / a > < / span >
< / span >
< / div >
2018-04-20 12:39:52 +03:00
< script > var base _url = '.' ; < / script >
2018-11-27 16:06:49 +03:00
< script src = "js/theme.js" defer > < / script >
< script src = "search/main.js" defer > < / script >
2016-11-08 16:41:38 +03:00
< / body >
< / html >
<!--
2018-11-27 16:06:49 +03:00
MkDocs version : 1.0.4
2019-05-29 14:08:49 +03:00
Build Date UTC : 2019-05-29 11:08:49
2016-11-08 16:41:38 +03:00
-->