alexaandrov/laravel-graphql-client

GraphQL client for laravel/lumen
6,489 12
Install
composer require alexaandrov/laravel-graphql-client
Latest Version:0.2.0
PHP:>= 7.1
License:MIT
Last Updated:Aug 15, 2019
Links: GitHub  ·  Packagist
Maintainer: alexaandrov

Laravel GraphQL Client

Wrapper over euautomation/graphql-client library for laravel/lumen.

Installation

You can install the package via composer:

composer require alexaandrov/laravel-graphql-client

Set endpoint url in your .env

GRAPHQL_ENDPOINT_URL=https://your-endpoint.url

For laravel:

php artisan vendor:publish --provider="Alexaandrov\GraphQL\GraphQLClientServiceProvider" 

For lumen:

Copy and setting up config:

cp vendor/alexaandrov/laravel-graphql-client/config/config.php config/graphql-client.php

Add to bootstrap/app.php

$app->configure('graphql-client');
$app->register(Alexaandrov\GraphQL\GraphQLClientServiceProvider::class);

Usage

Code

<?php

$guery = <<<QUERY
query {
    users {
        id
        email
    }
}
QUERY;

$mutation = <<<MUTATION
mutation {
    login(data: {
        username: "user@mail.com"
        password: "qwerty"
    }) {
        access_token
        refresh_token
        expires_in
        token_type
    }
}
MUTATION;

$queryResponse = Alexaandrov\GraphQL\Facades\Client::fetch($query);
foreach ($queryResponse->users as $user) {
    // Do something with the data
    $user->id;
    $user->email;
}

$mutationResponse = Alexaandrov\GraphQL\Facades\Client::fetch($mutation);

// Do something with the data
$login = $mutationResponse->login;
$login->access_token;
$login->...;

Related Packages

secundo/laravel-graphql-query-builder

A powerful and elegant GraphQL query builder for PHP, designed specifically for...

14,525 3
cline/relay

A modern, attribute-driven HTTP client for PHP

7,974 0
bigperson/laravel-vk-geo

Parse countries, regions and cities from vk.com api

461 14
artesaos/laravel-linkedin

Linkedin API integration for Laravel and Lumen 5

66,926 56