hexlet / phpstan-fp
PHPStan rules for functional programming
Installs: 25 223
Dependents: 4
Suggesters: 0
Security: 0
Stars: 8
Watchers: 2
Forks: 4
Open Issues: 1
pkg:composer/hexlet/phpstan-fp
Requires
- php: >=8.2
- illuminate/collections: ^12
- phpstan/phpstan: ^2.1
Requires (Dev)
- phpunit/phpunit: ^11.5 | ^12.0
- squizlabs/php_codesniffer: ^3.9
README
PHPStan rules for functional programming
Install
To use this extension, require it in Composer:
$ composer require --dev hexlet/phpstan-fp
Usage
All of the rules provided (and used) by this library are included in extension.neon.
When you are using phpstan/extension-installer, extension.neon will be automatically included.
Otherwise you need to include extension.neon in your phpstan.neon:
includes: - vendor/hexlet/phpstan-fp/extension.neon
Rules
This package provides the following rules for use with PHPStan:
DisallowClassesRule- Forbid the use ofclass.DisallowThrowRule- Forbid the use ofthrow.DisallowUnusedExpressionRule- Enforce that an expression gets used.DisallowMutatingFunctionsRule- Forbid the use of mutating functions.DisallowLoopsRule- Forbid the use of loops.DisallowMutationRule- Forbid the use of mutating operators.
Disabling rules
If you don't want to start using some of the available rules at once, you can.
parameters: phpstanFunctionalProgramming: disallowClasses: false disallowLoops: false disallowThrow: false disallowUnusedExpression: false disallowVariablesMutation: false disallowMutatingFunctions: false
This repository is created and maintained by the team and the community of Hexlet, an educational project. Read more about Hexlet.
See most active contributors on hexlet-friends.
