libs/parser/src/Grammar/Optional.php
Avoid assigning values to variables in if clauses and the like (line '22', column '14'). Open
Open
public function reduce(BufferInterface $buffer, \Closure $reduce): mixed
{
$rollback = $buffer->key();
if (($result = $reduce($this->rule)) !== null) {
- Read upRead up
- Exclude checks
IfStatementAssignment
Since: 2.7.0
Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.
Example
class Foo
{
public function bar($flag)
{
if ($foo = 'bar') { // possible typo
// ...
}
if ($baz = 0) { // always false
// ...
}
}
}
Source http://phpmd.org/rules/cleancode.html#ifstatementassignment
Line indented incorrectly; expected 4 spaces, found 8 Open
Open
public readonly int|string $rule,
- Exclude checks
Closing brace must be on a line by itself Open
Open
) {}
- Exclude checks