Internal GraphQL Server
Wykonuj queries GraphQL bezpośrednio w swojej aplikacji, używając kodu PHP.

To rozszerzenie instaluje wewnętrzny serwer GraphQL, który można wywoływać wewnątrz aplikacji za pomocą kodu PHP.
Wewnętrzny serwer GraphQL jest dostępny poprzez klasę GatoGraphQL\InternalGraphQLServer\GraphQLServer, za pomocą trzech metod:
executeQuery: Wykonuje query GraphQLexecuteQueryInFile: Wykonuje query GraphQL zawarte w pliku (.gql)executePersistedQuery: Wykonuje persisted query GraphQL (podając jej ID jako liczbę całkowitą lub slug jako ciąg znaków) (wymagane rozszerzenie Persisted Queries)
Poniżej przedstawiono sygnatury metod:
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 {
// ...
}
}Aby wykonać query GraphQL i uzyskać zawartość odpowiedzi:
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"] ?? [];