Internal GraphQL Server
Esegui queries GraphQL direttamente nella tua applicazione, utilizzando codice PHP.

Questa estensione installa un server GraphQL interno, che può essere invocato all'interno della tua applicazione utilizzando codice PHP.
Il server GraphQL interno è accessibile tramite la classe GatoGraphQL\InternalGraphQLServer\GraphQLServer, attraverso questi tre metodi:
executeQuery: Esegue una query GraphQLexecuteQueryInFile: Esegue una query GraphQL contenuta in un file (.gql)executePersistedQuery: Esegue una persisted query GraphQL (fornendo il suo ID come intero, o lo slug come stringa) (l'estensione Persisted Queries è richiesta)
Queste sono le firme dei metodi:
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 {
// ...
}
}Per eseguire una query GraphQL e ottenere il contenuto della risposta:
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"] ?? [];