https://github.com/preprio/php-graphql-sdk
This PHP package is a provider for the Prepr GraphQL API.
https://github.com/preprio/php-graphql-sdk
Last synced: 9 months ago
JSON representation
This PHP package is a provider for the Prepr GraphQL API.
- Host: GitHub
- URL: https://github.com/preprio/php-graphql-sdk
- Owner: preprio
- Created: 2023-05-24T10:35:11.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-13T16:13:24.000Z (over 2 years ago)
- Last Synced: 2025-02-24T15:44:26.018Z (10 months ago)
- Language: PHP
- Homepage:
- Size: 2.93 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PHP + Prepr SDK
This package is an SDK for the GraphQL API.
## Basics
The SDK on [GitHub](https://github.com/preprio/php-sdk)
Minimal PHP version: `^8.2`
Requires `GuzzleHttp ^7.7.0`
For Laravel projects we recommend using the Laravel providers for [REST](https://github.com/preprio/laravel-rest-sdk) or [GraphQL](https://github.com/preprio/laravel-graphql-sdk).
## Installation
You can install the SDK as a composer package.
```bash
composer require preprio/php-graphql-sdk
```
## Making your first request
Let's start with getting some content items from your Prepr environment.
```php
rawQuery('{
Posts( limit : 30 ) {
items {
_id
_slug
title
}
}
}')
->request();
print_r($apiRequest->getResponse());
```
In the example above, we wrote all of our arguments inside the query string. However, in most applications, the arguments to fields will be dynamic.
To add these properties, use the `variables` method.
```php
rawQuery('query ($search : String) {
Posts(where: { _search : $search }) {
items {
title
}
}
}')
->variables([
'search' => "amsterdam",
])
->request();
print_r($apiRequest->getResponse());
```
## Using query files
If you saved your GraphQL queries to a static file, you can use the following method to execute those:
```php
query('query_file.graphql')
->request();
print_r($apiRequest->getResponse());
```
## Adding headers
In some cases, you may need to add headers to your request.
For example, when using Prepr personalization with the `Prepr-Customer-Id` header.
The example below shows how to add extra headers to the requests.
```php
headers([
'Prepr-Customer-Id' => 'your-customers-session-or-customer-id'
])
->request();
print_r($apiRequest->getResponse());
```
## Debug Errors
With `$apiRequest->getRawResponse()` you can get the raw response from the Prepr API.