Slide 33
Slide 33 text
© 2012-2022 BASE, Inc. 33
@glassmonekey
#phperkaigi
PHPでの簡易実装例
$contents = file_get_contents('schema.graphql');
$schema = BuildSchema::build($contents);
$server = new StandardServer([
'schema' => $schema,
'fieldResolver' => function ($value, array $arg, $context, ResolveInfo $info) {
if ($info->fieldName == 'echo') {
return "echo: " . $arg['text'];
}
if ($info->fieldName == 'hello') {
return "hi";
}
return null;
}
]);
$server->handleRequest();
type Query {
echo(text: String): String
hello: String
}
RESTのルーティングに近い
外部定義したスキーマファイル