PHPStan extension for PHP GraphQL Server integration with Nette Framework
This extension is recommended if you use PHPStan with vojtech-dobes/phpstan-php-graphql-server extension. It gives you prepared Adapter implementation for easy integration with your GraphQL service setup.
To install the latest version, run the following command:
composer require vojtech-dobes/phpstan-php-graphql-server-nette-integration
Using this extension you can tell PHPStan about your GraphQL service in two ways:
- either you can directly use services registered in your DI container
- or you can point the extension at NEON configuration file that holds all necessary information in static form
The latter way is less convenient but won't prevent you from using PHPStan if your DI container can't temporarily compile (which is likely to happen during active development).
Update your phpstan.neon like this:
includes: - vendor/vojtech-dobes/phpstan-php-graphql-server-nette-integration/extension_di_container.neon graphqlDIContainer: dic: [Bootstrap, createContainerForPHPStan] extensionMap: %rootDir%/../../../src/schema.graphqls: graphql
Options:
-
dicExpects callback that will return instance of your
Nette\DI\Containerfrom which it can extract necessary GraphQL services. -
extensionMapExpects map of schema file paths to extension name you use for that particular schema in your configuration. For example if your application configuration looks like this:
extensions: my_graphql: Vojtechdobes\GraphQL\Integrations\Nette\Extension my_graphql: schemaPath: %rootDir%/src/my_schema.graphqls
Then your
phpstan.neonshould contain:graphqlDIContainer: extensionMap: %rootDir%/../../../src/my_schema.graphqls: my_graphql
WIP