pereorga/phpstan-rules

Custom PHPStan rules enforcing an opinionated code style.

Maintainers

Package info

github.com/pereorga/phpstan-rules

Type:phpstan-extension

pkg:composer/pereorga/phpstan-rules

Statistics

Installs: 2 786

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

1.3.0 2026-03-18 17:27 UTC

This package is auto-updated.

Last update: 2026-03-28 12:45:59 UTC


README

Opinionated rules for PHPStan.

Installation

Run:

composer require --dev pereorga/phpstan-rules

Usage

To enable all rules, reference rules.neon in your phpstan.neon file:

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

To enable only specific rules, include their individual configuration files from the rules/ directory:

includes:
    - vendor/pereorga/phpstan-rules/rules/no-redundant-boolean-comparison.neon
    - vendor/pereorga/phpstan-rules/rules/snake-case-variable.neon

Rules

NoRedundantBooleanComparisonRule

rules/no-redundant-boolean-comparison.neon

Disallows comparing boolean expressions with === true, === false, !== true, or !== false. Use the boolean value directly instead.

NoNonReferenceParameterAssignmentRule

rules/no-non-reference-parameter-assignment.neon

Disallows assigning values to parameters that are not passed by reference. Encourages the use of separate working variables.

NoSuperfluousPhpDocTypesRule

rules/no-superfluous-phpdoc-types.neon

Detects @param and @return tags that redundantly duplicate type information already present in native type declarations. Encourages using prose descriptions (e.g., "The name parameter specifies...") for simple types, and @param/@return tags only for complex types (array shapes, generics).

SnakeCaseFunctionRule

rules/snake-case-function.neon

Requires all function names to be written in snake_case.

SnakeCaseParameterRule

rules/snake-case-parameter.neon

Requires all parameter names to be written in snake_case.

SnakeCaseVariableRule

rules/snake-case-variable.neon

Requires all variable names to be written in snake_case.