Graphql Laravel
Graphql Laravel stats
- Downloads
- 3M
- Stars
- 2,033
- Open Issues
- 10
- Forks
- 264
Laravel wrapper for PHP GraphQL
Laravel GraphQL Package Summary
Laravel GraphQL is a powerful package that integrates Facebook's GraphQL with PHP 8.0+ and Laravel 9.0+. This package is based on the PHP port of the GraphQL reference implementation by webonyx/graphql-php.
Key Features
- Flexible Queries and Mutations: Easily create GraphQL queries and mutations as endpoints.
- Support for Multiple Schemas: Configure different schemas with specific queries, mutations, types, and middleware.
- Custom Resolver Middleware: Define custom middleware for query and mutation resolvers.
- Eloquent Support: Utilize the
SelectFieldsclass for dynamic field retrieval and efficient data loading, addressing the N+1 query problem. - Advanced Features:
- Per-query authorization and field-level visibility.
- Support for pagination and query batching.
- Built-in handling for file uploads.
Installation
-
Dependencies:
- Laravel 9.0+
- GraphQL PHP (webonyx/graphql-php)
-
Composer Installation:
composer require rebing/graphql-laravel -
Publish Configuration:
php artisan vendor:publish --provider="Rebing\GraphQL\GraphQLServiceProvider"Review and configure
config/graphql.phpas needed.
Usage Highlights
- Define GraphQL schemas, types, queries, and mutations in your Laravel application.
- Configure middleware at the schema level for fine-grained control over HTTP requests.
- Use
SelectFieldsfor optimizing database queries and relationships in Eloquent. - Leverage advanced features like pagination, file uploads, and custom scalars for enhanced API capabilities.
This package extends the capabilities of Laravel applications by enabling the creation of flexible and efficient GraphQL APIs, offering a rich set of features to manage data interactions seamlessly. For detailed usage and configuration, refer to the official package documentation.