Enforces avoidance of else expressions, following Object Calisthenics principles.
This rule flags else and optionally elseif expressions to encourage refactoring with guard clauses or early returns.
This rule supports the following configuration options:
- Type:
bool - Default:
true - Description: If
true,elseifexpressions are allowed and not flagged. Iffalse,elseifexpressions are flagged.
Add the rule to your PHPStan configuration:
includes:
- vendor/orrison/meliorstan/config/extension.neon
rules:
- Orrison\MeliorStan\Rules\ElseExpression\ElseExpressionRule
parameters:
meliorstan:
else_expression:
elseif_allowed: true<?php
class Example
{
public function method(): void
{
if ($condition) {
doSomething();
} // ✓ Valid: no else
if ($condition) {
doSomething();
} elseif ($other) { // ✓ Valid: elseif allowed
doOther();
}
if ($condition) {
doSomething();
} else { // ✗ Error: Avoid using else expressions.
doDefault();
}
}
}parameters:
meliorstan:
else_expression:
elseif_allowed: falseif ($condition) {
doSomething();
} elseif ($other) { // ✗ Error: Avoid using else expressions.
doOther();
}