Internal GraphQL Server
Jalankan GraphQL queries langsung di dalam aplikasi Anda, menggunakan kode PHP.

Ekstensi ini memasang sebuah GraphQL Server internal, yang dapat dipanggil di dalam aplikasi Anda menggunakan kode PHP.
GraphQL Server internal diakses melalui kelas GatoGraphQL\InternalGraphQLServer\GraphQLServer, dengan tiga metode berikut:
executeQuery: Menjalankan sebuah GraphQL queryexecuteQueryInFile: Menjalankan sebuah GraphQL query yang terdapat dalam file (.gql)executePersistedQuery: Menjalankan sebuah persisted GraphQL query (dengan menyediakan ID-nya sebagai integer, atau slug sebagai string) (ekstensi Persisted Queries diperlukan)
Berikut adalah tanda tangan metode-metodenya:
namespace GatoGraphQL\InternalGraphQLServer;
use PoP\Root\HttpFoundation\Response;
class GraphQLServer {
/**
* Execute a GraphQL query
*/
public static function executeQuery(
string $query,
array $variables = [],
?string $operationName = null,
int|string|null $schemaConfigurationIDOrSlug = null,
): Response {
// ...
}
/**
* Execute a GraphQL query contained in a (`.gql`) file
*/
public static function executeQueryInFile(
string $file,
array $variables = [],
?string $operationName = null,
int|string|null $schemaConfigurationIDOrSlug = null,
): Response {
// ...
}
/**
* Execute a persisted GraphQL query (providing its object
* of type WP_Post, ID as an int, or slug as a string)
*/
public static function executePersistedQuery(
WP_Post|string|int $persistedQuery,
array $variables = [],
?string $operationName = null
): Response {
// ...
}
}Untuk menjalankan sebuah GraphQL query dan memperoleh konten responsnya:
use GatoGraphQL\InternalGraphQLServer\GraphQLServer;
// Provide the GraphQL query
$query = "{ ... }";
// Execute the query against the internal server
$response = GraphQLServer::executeQuery($query);
// Get the content and decode it
$responseContent = json_decode($response->getContent(), true);
// Access the data and errors from the response
$responseData = $responseContent["data"] ?? [];
$responseErrors = $responseContent["errors"] ?? [];