Skip to content

Files

Latest commit

 Cannot retrieve latest commit at this time.

History

History
75 lines (57 loc) · 1.63 KB

README.md

File metadata and controls

75 lines (57 loc) · 1.63 KB

Graphql-Client is a graphql client package for Laravel that you can use to consume Graphql API.

How to use

This package is installed via Composer. To install, simply add it to your composer.json file:

{
    "require": {
        "0length/graphql-client": "^2.0"
    }
}

and run composer to update the dependencies composer update.

Then open your Laravel config file config/app.php and in the $providers array add the service provider for this package.

\Zerolength\Graphql\GraphqlServiceProvider::class

Generate the configuration file running in the console:

php artisan vendor:publish --tag=config

Finally add your graphql server endpoint url and headers option as following example below:

GRAPHQL_WORKSPACE="http://127.0.0.1:4001/graphql"
GRAPHQL_HEADERS="Authorization: App keyxxx,Header2: value"

Example Query Class Creation

<?php

namespace App\Graphql\Queries;

use Zerolength\Graphql\Entities\GraphqlQueries;
use App\Models\User;

class CSQueries extends GraphqlQueries
{


    /**
     * Generate privately subscription session key for User.
     */
    public function createSession(User $user)
    {
        $this->setPayload(
            __FUNCTION__,
            [
                'data' => $user
            ],
            '
                query ' . __FUNCTION__ . 'Operation($data: SessionDataInput!){
                    ' . __FUNCTION__ . '(data: $data)
                }
            '
        );
        return $this->execute();
    }
}

Example Query Class Call/Usage

$sessionCreationResponse = (new CSQueries())->createSession($user);