jasonrgd / graphql-client
Softonic GraphQL client
1.2.1
2018-10-10 08:58 UTC
Requires
- php: >=7.0
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.4
- phpunit/phpunit: ^6.0
This package is auto-updated.
Last update: 2024-12-10 23:02:41 UTC
README
PHP Client for GraphQL
Installation
Via composer:
composer require jasonrgd/graphql-client
Documentation
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);
Testing
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
License
The Apache 2.0 license. Please see LICENSE for more information.