A PHP extension wrapping the libgraphqlparser library for parsing GraphQL.
You need to install libgraphqlparser before attempting to compile this extension.
$ cd deps/libgraphqlparser
$ cmake .
$ make
$ make install
$ phpize
$ ./configure
$ make
$ make install
make install
copies graphql.so
to an appropriate location, but you still
need to enable the extension in the PHP config file. To do so, edit your
php.ini
with the following contents: extension=graphql.so
<?php
use GraphQL\Parser;
use GraphQL\Error\ParseError;
$parser = new Parser();
try {
$ast = $parser->parse('query { name }');
print_r($ast);
} catch (ParseError $e) {
echo sprintf('Parse error: %s', $e->getMessage());
}
The output will be:
Array
(
[kind] => Document
[loc] => Array
(
[start] => 1
[end] => 15
)
[definitions] => Array
(
[0] => Array
(
[kind] => OperationDefinition
[loc] => Array
(
[start] => 1
[end] => 15
)
[operation] => query
[name] =>
[variableDefinitions] =>
[directives] =>
[selectionSet] => Array
(
[kind] => SelectionSet
[loc] => Array
(
[start] => 7
[end] => 15
)
[selections] => Array
(
[0] => Array
(
[kind] => Field
[loc] => Array
(
[start] => 9
[end] => 13
)
[alias] =>
[name] => Array
(
[kind] => Name
[loc] => Array
(
[start] => 9
[end] => 13
)
[value] => name
)
[arguments] =>
[directives] =>
[selectionSet] =>
)
)
)
)
)
)
This extension is licensed under the MIT License, see the LICENSE file for details.