/lumen-graphql

GraphQL module for the Laravel and Lumen PHP frameworks.

Primary LanguagePHPMIT LicenseMIT

Lumen GraphQL

Build Status Coverage Status Scrutinizer Code Quality Latest Stable Version Total Downloads License

GraphQL module for the Laravel and Lumen PHP frameworks.

Requirements

Usage

Installation

Run the following command to install the package through Composer:

composer require digiaonline/lumen-graphql

Configure

Copy the configuration template in config/graphql.php to your application's config directory and modify according to your needs. For more information see the Configuration Files section in the Lumen documentation.

Available configuration options:

  • schema string Schema class name, must be an instance of Youshido\GraphQL\Schema\Schema
  • type_resolver string Type resolver class name, must be an instance of Digia\Lumen\GraphQL\Contracts\TypeResolverInterface
  • processor string Optional processor class name, must be an instance of Youshido\GraphQL\Execution\Processor
  • enable_graphiql bool Whether or not the GraphiQL interface is enabled
  • graphiql_token string Token required for accessing the GraphiQL interface

Bootstrapping

Add the following line to bootstrap/app.php:

$app->register(Digia\Lumen\GraphQL\GraphQLServiceProvider::class);

Add the following lines to routes/web.php:

$router->get('/graphql', [
    'uses' => 'Digia\Lumen\GraphQL\Http\GraphQLController@renderGraphiQL',
]);

$router->post('/graphql', [
    'uses' => 'Digia\Lumen\GraphQL\Http\GraphQLController@handle',
]);

NOTE: Make sure that your route group does not have a namespace attribute. Otherwise Lumen will be unable to find the GraphQLController.

Contributing

Please read the guidelines.

License

See LICENSE.