axtiva / flexible-graphql-bundle
Schema first bundle for generate php code from graphql sdl to TypeRegistry with webonyx/graphql-php for symfony framework
v3.1.0
2026-04-14 12:27 UTC
Requires
- php: ^8.3
- axtiva/flexible-graphql-php: ^3.0.2
- symfony/config: ^6.4 | ^7.0 | ^8.0
- symfony/console: ^6.4 | ^7.0 | ^8.0
- symfony/dependency-injection: ^6.4 | ^7.0 | ^8.0
- symfony/framework-bundle: ^6.4 | ^7.0 | ^8.0
- symfony/http-kernel: ^6.4 | ^7.0 | ^8.0
- symfony/property-access: ^6.4 | ^7.0 | ^8.0
- symfony/yaml: ^6.4 | ^7.0 | ^8.0
Requires (Dev)
- amphp/amp: ^3
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^12
Suggests
- amphp/amp: Needed for async execution support
README
Symfony bundle for Flexible Graphql PHP for fast implementation graphql api
Features
- SDL first code generation
- Fast integration to any project without breaking changes
- Lazy loading on schema definition
- Apollo Federation Support
- Amphp v3 support for async executions
- Executable directives
- Support symfony native opcache preload file generation
Setup
Composer install:
composer require axtiva/flexible-graphql-bundle
Create bundle config:
# content of config/packages/flexible_graphql.yaml flexible_graphql: namespace: App\GraphQL # namespace where store GraphQL models and resolvers dir: '%kernel.project_dir%/src/GraphQL/' # path where it will be they save files schema_type: graphql # type of schema generation. Default is `graphql` or optional is `federation` for apollo federation support schema_files: '%kernel.project_dir%/config/graphql/*.graphql' # path to graphql schema SDL files enable_preload: false # use Symfony preload if it true default_resolver: flexible_graphql.default_resolver # default resolver if it does not defined
Run command
bin/console cache:clear
Look at flexible_graphql.dir created files.
Quick install
Quick install guide
Supported commands
bin/console list flexible_graphql
Async execution
Currently, the bundle supports async execution of resolvers using amphp v3. Read in docs/async.md how to use it.
Tests
Run tests
php vendor/bin/phpunit
PHPStan
Run PHPStan
php vendor/bin/phpstan analyse -c phpstan.neon.dist