preprio / php-graphql-sdk
Prepr PHP GraphQL SDK
1.0.0
2023-05-24 10:40 UTC
Requires
- php: >=8.2
- guzzlehttp/guzzle: ^7.7.0
This package is not auto-updated.
Last update: 2024-09-26 15:04:48 UTC
README
本包是GraphQL API的SDK。
基本内容
SDK位于GitHub
最小PHP版本:^8.2
需要GuzzleHttp ^7.7.0
对于Laravel项目,我们推荐使用REST或GraphQL的Laravel提供者。
安装
您可以将SDK作为composer包安装。
composer require preprio/php-graphql-sdk
发送第一个请求
让我们从获取一些来自您的Prepr环境的文章内容开始。
<?php use Preprio\Prepr; $apiRequest = new Prepr('{ENDPOINT_URL}'); $apiRequest ->rawQuery('{ Posts( limit : 30 ) { items { _id _slug title } } }') ->request(); print_r($apiRequest->getResponse());
在上面的示例中,我们将所有参数都写在了查询字符串中。然而,在大多数应用程序中,字段的参数将是动态的。为了添加这些属性,请使用variables
方法。
<?php use Preprio\Prepr; $apiRequest = new Prepr('{ENDPOINT_URL}'); $apiRequest ->rawQuery('query ($search : String) { Posts(where: { _search : $search }) { items { title } } }') ->variables([ 'search' => "amsterdam", ]) ->request(); print_r($apiRequest->getResponse());
使用查询文件
如果您已将GraphQL查询保存到静态文件中,可以使用以下方法执行这些查询
<?php use Preprio\Prepr; $apiRequest = new Prepr('{ENDPOINT_URL}'); $apiRequest ->query('query_file.graphql') ->request(); print_r($apiRequest->getResponse());
添加头部
在某些情况下,您可能需要向请求中添加头部。例如,当使用带有Prepr-Customer-Id
头部的Prepr个性化时。
以下示例显示了如何向请求中添加额外头部。
<?php use Preprio\Prepr; $apiRequest = new Prepr('{ENDPOINT_URL}'); $apiRequest ->headers([ 'Prepr-Customer-Id' => 'your-customers-session-or-customer-id' ]) ->request(); print_r($apiRequest->getResponse());
调试错误
使用$apiRequest->getRawResponse()
,您可以获取Prepr API的原始响应。