svnldwg / phpstan-rules

Collection of useful additional phpstan rules. Currently only one rule, which checks immutability of objects (e.g. value objects) or properties.
MIT License
7 stars 0 forks source link

phpstan-rules

Provides additional rules for phpstan/phpstan.

This package is still in development, please report any issues or bugs.

CI Status GitHub last commit PHPStan PHP Versions Downloads

Installation

Run

$ composer require --dev svnldwg/phpstan-rules

Usage

The rules provided are included in rules.neon.

When you are using phpstan/extension-installer, rules.neon will be automatically included.

Otherwise you need to include rules.neon in your phpstan.neon:

includes:
    - vendor/svnldwg/phpstan-rules/rules.neon

Rules

This package provides the following rules for use with phpstan/phpstan:

ImmutableObjectRule

This rule reports an error when a class or class property tagged as immutable is mutable. This can be used for example to ensure that value objects are always immutable.

:bulb: Classes or properties can be tagged as immutable by adding the annotation @psalm-immutable or @immutable to the phpdoc.

:bulb: The immutability rule also asserts that immutable properties are not mutated in child classes

License

This package is licensed using the MIT License.

Please have a look at LICENSE.md.