blok/graphql

一个graphql查询和客户端助手

1.1.2 2022-04-06 16:24 UTC

This package is not auto-updated.

Last update: 2024-09-21 04:35:35 UTC


README

Build Status Packagist Packagist Packagist

包描述

非常简单的GraphqlClient助手,用于执行graphql调用。

安装

通过composer安装

composer require blok/graphql

注册服务提供者

注意!如果你使用laravel≥5.5且具有包自动发现功能,则此步骤和下一步是可选的。

将服务提供者添加到config/app.php文件中的providers部分

Blok\Graphql\ServiceProvider::class,

注册外观

config/app.php文件中的aliases部分注册包外观

Blok\Graphql\Facades\Graphql::class,

发布配置文件

php artisan vendor:publish --provider="Blok\Graphql\ServiceProvider" --tag="config"

作为独立的php使用

简单地添加你的查询和参数,如下(这里是一个使用Opencollective GraphQL api的示例)


use Blok\Graphql\Graphql;

    $query = <<<EOT
query allTransactions(\$slug: String){
  allTransactions(collectiveSlug: \$slug){
    id,
    uuid,
    amount,
    currency,
    description,
    hostCurrency,
    hostCurrencyFxRate,
    netAmountInCollectiveCurrency,
    type,
    createdAt,
    updatedAt,
    refundTransaction{id},
    collective{id, name, slug},
  }
}
EOT;

    $graphql = new Graphql(YOUR_URL, YOUR_BEARER_TOKEN);
    $result = $graphql->query($query, ['slug' => 'co-labs']);

作为Laravel Graphql实例使用

为了方便,你还有一个实例化的graphql服务提供者,它将使用你的env文件中的设置:GRAPHQL_URL和GRAPHQL_TOKEN。

要使用它,你可以使用外观或app


use Blok\Graphql\Facades\Graphql;

    $query = <<<EOT
query allTransactions(\$slug: String){
  allTransactions(collectiveSlug: \$slug){
    id,
    uuid,
    amount,
    currency,
    description,
    hostCurrency,
    hostCurrencyFxRate,
    netAmountInCollectiveCurrency,
    type,
    createdAt,
    updatedAt,
    refundTransaction{id},
    collective{id, name, slug},
  }
}
EOT;

    $result = app('graphql')->query($query, ['slug' => 'co-labs']);

    or

    $result = Graphql::query($query, ['slug' => 'co-labs']);

安全

如果你发现任何与安全相关的问题,请通过电子邮件而不是使用问题跟踪器。

致谢

此包是在blok/laravel-package-generator的帮助下启动的。