graphql-php/index.html

305 lines
8.5 KiB
HTML
Executable File

<!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">
<title>graphql-php</title>
<link rel="shortcut icon" href="./img/favicon.ico">
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
<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="./css/highlight.css">
<script>
// Current page data
var mkdocs_page_name = "None";
var mkdocs_page_input_path = "index.md";
var mkdocs_page_url = "/";
</script>
<script src="./js/jquery-2.1.1.min.js"></script>
<script src="./js/modernizr-2.8.3.min.js"></script>
<script type="text/javascript" src="./js/highlight.pack.js"></script>
<script src="./js/theme.js"></script>
</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">
<input type="text" name="q" placeholder="Search docs" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li>
<li class="toctree-l1 current">
<a class="current" href=".">About</a>
<ul>
<li class="toctree-l3"><a href="#about-graphql">About GraphQL</a></li>
<li class="toctree-l3"><a href="#about-graphql-php">About graphql-php</a></li>
<li><a class="toctree-l4" href="#current-status">Current Status</a></li>
</ul>
</li>
<li>
<li>
<li class="toctree-l1 ">
<a class="" href="getting-started/">Getting Started</a>
</li>
<li>
<li>
<ul class="subnav">
<li><span>Type System</span></li>
<li class="toctree-l1 ">
<a class="" href="type-system/">Introduction</a>
</li>
<li class="toctree-l1 ">
<a class="" href="type-system/object-types/">Object Types</a>
</li>
<li class="toctree-l1 ">
<a class="" href="type-system/scalar-types/">Scalar Types</a>
</li>
<li class="toctree-l1 ">
<a class="" href="type-system/enum-types/">Enumeration Types</a>
</li>
<li class="toctree-l1 ">
<a class="" href="type-system/lists-and-nonnulls/">Lists and Non-Null</a>
</li>
<li class="toctree-l1 ">
<a class="" href="type-system/interfaces/">Interfaces</a>
</li>
<li class="toctree-l1 ">
<a class="" href="type-system/unions/">Unions</a>
</li>
<li class="toctree-l1 ">
<a class="" href="type-system/input-types/">Input Types</a>
</li>
<li class="toctree-l1 ">
<a class="" href="type-system/directives/">Directives</a>
</li>
<li class="toctree-l1 ">
<a class="" href="type-system/schema/">Schema</a>
</li>
</ul>
<li>
<li>
<li class="toctree-l1 ">
<a class="" href="executing-queries/">Executing Queries</a>
</li>
<li>
<li>
<li class="toctree-l1 ">
<a class="" href="error-handling/">Handling Errors</a>
</li>
<li>
<li>
<li class="toctree-l1 ">
<a class="" href="data-fetching/">Fetching Data</a>
</li>
<li>
<li>
<li class="toctree-l1 ">
<a class="" href="best-practices/">Best Practices</a>
</li>
<li>
<li>
<li class="toctree-l1 ">
<a class="" href="complementary-tools/">Complementary Tools</a>
</li>
<li>
</ul>
</div>
&nbsp;
</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> &raquo;</li>
<li>About</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<h1 id="about-graphql">About GraphQL</h1>
<p>GraphQL is a modern way to build HTTP APIs consumed by web and mobile clients.
It is intended to be a replacement for REST and SOAP APIs (even for <strong>existing applications</strong>).</p>
<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
<a href="http://graphql.org/code/">for different languages and environments</a>.</p>
<p>Great overview of GraphQL features and benefits is presented on <a href="http://graphql.org/">official website</a>.
All of them equally apply to this PHP implementation. </p>
<h1 id="about-graphql-php">About graphql-php</h1>
<p><strong>graphql-php</strong> is a feature-complete implementation of GraphQL specification in PHP (5.4+, 7.0+).
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
are used. Instead it provides tools for creating rich API for your existing app. </p>
<p>These tools include:</p>
<ul>
<li>Primitives to express your app as a Type System</li>
<li>Tools for validation and introspection of this Type System (for compatibility with tools like <a href="./complementary-tools/#graphiql">GraphiQL</a>)</li>
<li>Tools for parsing, validating and executing GraphQL queries against this Type System</li>
<li>Rich error reporting, including query validation and execution errors</li>
<li>Optional tools for parsing GraphQL Schema Definition language</li>
</ul>
<p>Also several <a href="./complementary-tools/">complementary tools</a> are available which provide integrations with
existing PHP frameworks, add support for Relay, etc.</p>
<h2 id="current-status">Current Status</h2>
<p>Current version supports all features described by GraphQL specification
(including April 2016 add-ons) as well as some experimental features like
Schema Language parser.</p>
<p>Ready for real-world usage.</p>
</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>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" style="cursor: pointer">
<span class="rst-current-version" data-toggle="rst-current-version">
<span style="margin-left: 15px"><a href="getting-started/" style="color: #fcfcfc">Next &raquo;</a></span>
</span>
</div>
</body>
</html>
<!--
MkDocs version : 0.15.3
Build Date UTC : 2016-11-08 13:41:37.144000
-->