A simple package to consume GraphQL APIs.
composer require zestic/graphql-simple-client
Create an instance of GraphQL\SimpleClient\Client
:
new Client($graphQLURL);
or
$client = new Client();
$client->setUrl($graphQLURL);
Pass in your query, optional variables and headers (eg bearer token), $variables
and $headers
are optional
$response = $client->response($query, $variables, $headers);
Use $response->all();
to get all of the data returned in the response
Use $response->errors();
to get all the errors returned in the response
Use $response->hasErrors();
to check if the response contains any errors
For example purposes, let's assume you want to get a list of all categories and execute this query.
{
allCategories(first:10) {
category {
id,
name,
slug,
description
}
}
}
Now in order to fetch some meaningful data from the Response class you can do the following:
$categories = $response->allCategories->category;
foreach($categories as $category) {
// Do something with the data?
$category->id;
$category->name;
$category->slug;
$category->description;
}
You can also set, unset or isset data on the Response class.
Pass in your query, optional variables and headers (eg bearer token), $variables
and $headers
are optional
$client->raw($query, $variables, $headers);
Pass in your query, optional variables and headers (eg bearer token), $variables
and $headers
are optional
$client->json($query, $variables, $headers);