This package provides some additional features for PHPStan to detect configuration issues in Sylius projects.
PHP: PHP 8.2 or higher
Sylius: Sylius 2.0 or higher
PHPStan: PHPStan 2.0 or higher
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
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 what options PHPStan allows you to configure.
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
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.
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.
If you feel that you have something to share, then we’d love to have you. Check out the contributing guide to find out how, as well as what we expect from you.
PHPStan Sylius Extension is released under the MIT License.