12345678910111213141516171819202122232425262728293031 |
- <?php
- // Test this using following command
- // php -S localhost:8080 ./graphql.php &
- // curl http://localhost:8080 -d '{"query": "query { echo(message: \"Hello World\") }" }'
- // curl http://localhost:8080 -d '{"query": "mutation { sum(x: 2, y: 2) }" }'
- require_once __DIR__ . '/../../vendor/autoload.php';
- use GraphQL\GraphQL;
- use GraphQL\Utils\BuildSchema;
- try {
- $schema = BuildSchema::build(file_get_contents(__DIR__ . '/schema.graphqls'));
- $rootValue = include __DIR__ . '/rootvalue.php';
- $rawInput = file_get_contents('php://input');
- $input = json_decode($rawInput, true);
- $query = $input['query'];
- $variableValues = isset($input['variables']) ? $input['variables'] : null;
- $result = GraphQL::execute($schema, $query, $rootValue, null, $variableValues);
- } catch (\Exception $e) {
- $result = [
- 'error' => [
- 'message' => $e->getMessage()
- ]
- ];
- }
- header('Content-Type: application/json; charset=UTF-8');
- echo json_encode($result);
|