https://github.com/bitExpert/phpstan-sylius
Sylius-specific extensions for PHPStan
https://github.com/bitExpert/phpstan-sylius
Last synced: 8 months ago
JSON representation
Sylius-specific extensions for PHPStan
- Host: GitHub
- URL: https://github.com/bitExpert/phpstan-sylius
- Owner: bitExpert
- License: mit
- Created: 2025-02-21T11:46:25.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-10-21T06:23:02.000Z (8 months ago)
- Last Synced: 2025-10-22T01:59:44.551Z (8 months ago)
- Language: PHP
- Size: 195 KB
- Stars: 5
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# bitexpert/phpstan-sylius
[](https://github.com/bitExpert/phpstan-sylius/actions)
[](https://packagist.org/packages/bitexpert/phpstan-sylius/)
[](https://rheinneckar.social/@bitexpert)
This package provides some additional features for PHPStan to detect configuration issues in Sylius projects.
## Requirements
PHP: PHP 8.2 or higher
Sylius: Sylius 2.0 or higher
PHPStan: PHPStan 2.0 or higher
## Installation
The preferred way of installing `bitexpert/phpstan-sylius` is through Composer.
You can add `bitexpert/phpstan-sylius` as a dev dependency, as follows:
```
composer.phar require --dev bitexpert/phpstan-sylius
```
### PHPStan configuration
If you have not already a PHPStan configuration file `phpstan.neon` in your project, create a new empty file next to your `composer.json` file.
See [here](https://phpstan.org/config-reference) what options PHPStan allows you to configure.
## Feature overview
This PHPStan extension works for both Sylius plugins and Sylius application projects.
The following rules have been implemented:
- Rule to check if resource classes defined in AbstractGrid::getResourceClass() exist
- Rule to check that configured grid fields belong to the configured resource class
- Rule to check that configured filter fields belong to the configured resource class
- custom filter types are supported
- Rule to check that grid classes configured via the `Index` attribute exist
Current assumptions:
- Grids are configured by extending the `Sylius\Bundle\GridBundle\Grid\AbstractGrid` class
### Custom filter types
To include your custom filter type in the checks, implement the `bitExpert\PHPStan\Sylius\Collector\Grid\Filter\FilterNode` interface and add a service to your `phpstan.neon` file and tag it with the `phpstan.sylius.grid.filter` tag.
## Contribute
Please feel free to fork and extend existing or add new features and send a pull request with your changes! To establish
a consistent code quality, please provide unit tests for all your changes and adapt the documentation.
## Want To Contribute?
If you feel that you have something to share, then we’d love to have you.
Check out [the contributing guide](CONTRIBUTING.md) to find out how, as well as what we expect from you.
## License
PHPStan Sylius Extension is released under the MIT License.