PHP Client for GraphQL
Via composer:
composer require jasonrgd/graphql-client
To instantiate a client with an OAuth2 provider:
<?php
$options = [
'clientId' => 'myclient',
'clientSecret' => 'mysecret',
];
$provider = new Softonic\OAuth2\Client\Provider\Softonic($options);
$config = ['grant_type' => 'client_credentials', 'scope' => 'myscope'];
$cache = new \Symfony\Component\Cache\Adapter\FilesystemAdapter();
$client = \Softonic\GraphQL\ClientBuilder::buildWithOAuth2Provider(
'https://catalog.swarm.pub.softonic.one/graphql',
$provider,
$config,
$cache
);
$query = <<<'QUERY'
query GetFooBar($idFoo: String, $idBar: String) {
foo(id: $idFoo) {
id_foo
bar (id: $idBar) {
id_bar
}
}
}
QUERY;
$variables = ['idFoo' => 'foo', 'idBar' => 'bar'];
$response = $client->query($query, $variables);
To instantiate a client without OAuth2:
<?php
$client = \Softonic\GraphQL\ClientBuilder::build('https://catalog.swarm.pub.softonic.one/graphql');
$query = <<<'QUERY'
query GetFooBar($idFoo: String, $idBar: String) {
foo(id: $idFoo) {
id_foo
bar (id: $idBar) {
id_bar
}
}
}
QUERY;
$variables = [
'idFoo' => 'foo',
'idBar' => 'bar',
];
$response = $client->query($query, $variables);
softonic/graphql-client
has a PHPUnit test suite and a coding style compliance test suite using PHP CS Fixer.
To run the tests, run the following command from the project folder.
$ docker-compose run test
To run interactively using PsySH:
$ docker-compose run psysh
The Apache 2.0 license. Please see LICENSE for more information.