jasonrgd/graphql-client

Softonic GraphQL客户端

1.2.1 2018-10-10 08:58 UTC

This package is auto-updated.

Last update: 2024-09-10 22:23:04 UTC


README

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

PHP客户端用于GraphQL

安装

通过composer

composer require jasonrgd/graphql-client

文档

使用OAuth2提供者实例化客户端

<?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);

不使用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拥有PHPUnit测试套件和用于编码风格合规性测试的套件,使用PHP CS Fixer

要从项目目录运行测试,请执行以下命令。

$ docker-compose run test

使用PsySH进行交互式运行

$ docker-compose run psysh

许可

Apache 2.0许可。有关更多信息,请参阅LICENSE