convenia / graphql-client
Client to make graphql requests
Installs: 1 105
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 6
Forks: 2
Open Issues: 0
Requires
- php: >=7.0
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- phpunit/phpunit: 6.0
This package is not auto-updated.
Last update: 2024-11-12 04:14:05 UTC
README
This package allows you to make GraphQL requests using pure PHP.
Implementation
The package has two basic classes, Query
and Mutation
that needs to be used when implementing a query or a mutation. In both cases you need to pass an instance of GuzzleHttp\Client
and the base url. Every query or mutation needs also to set the name and desired output parameters.
Example
use Convenia\GraphQLClient\Mutation; class UpdateUserMutation extends Mutation { protected $queryName = 'createUser'; protected $outputParams = [ 'id', 'name', 'last_name' ]; }
Usage
When calling the mutation's methods you can choose between using the output params setted in the model, or you can also pass the desired params.
Example
class User { protected $client = new GuzzleHttp\Client(); protected $baseUrl = 'http://www.mygraphqlapi/v1/graphql' public static function create($userId, $data, $returnParams = []) { $mutation = new UpdateUserMutation($this->baseUrl); $mutation->update($userId, $data, $returnParams); } }
Responses
This package has a handler that deals with the response. This response class also deals with the possible GraphQL errors.