← All results

PHPStan strict-rules opt-in detection for boolean conditions

Group: Analyzer directives · Category: extension · File: directives_phpstan_strict_bool_condition.php · Kind: Style / opinionated (no runtime-safety impact)

References: - PHPStan strict-rules boolean conditions

Analyzer results

AnalyzerVersionResultDiagnostics
phan 6.0.7Phan 6.0.7 php-ast version 1.1.3 PHP version used to run Phan: 8.5.9 Pass

No diagnostics reported.

phpstan 2.2.15PHPStan - PHP Static Analysis Tool 2.2.15 Pass (strict)
With strict-rules
directives_phpstan_strict_bool_condition.php:17: Only booleans are allowed in an if condition, int given.
psalm 6.18.0Psalm 6.18.0@536dd6236b39a5115385b0307b42d6d1ad431a02
next: 7.0.0-beta22
Pass

No diagnostics reported.

mago 1.50.0mago 1.50.0 Pass

No diagnostics reported.

mir 0.78.0mir 0.78.0 Pass

No diagnostics reported.

phpantom 0.10.0phpantom_lsp 0.10.0 Pass

No diagnostics reported.

intelephense 1.18.5intelephense 1.18.5 Pass

No diagnostics reported.

phpactor 2026.06.23.0Phpactor 2026.06.23.0 Pass

No diagnostics reported.

phpy 1.0.19274phpy 1.0.19274 Pass

No diagnostics reported.

qodana 262.9437.196Qodana 262.9437.196 Pass

No diagnostics reported.

noverify 0.5.5NoVerify, version 0.5.5: built on: 2025.04.22 14:36:46 OS: r-kuchinskas arm64 Commit: 4774b82f8adc53fbef38f95e97af4b953b4d1529 Pass

No diagnostics reported.

steins 0.1.8steins 0.1.8 (2026-09-21 revision 76306a9) Pass

No diagnostics reported.

phpstan-strict 2.2.15PHPStan - PHP Static Analysis Tool 2.2.15 Pass
directives_phpstan_strict_bool_condition.php:17: Only booleans are allowed in an if condition, int given.
psalm-next 7.0.0-beta22Psalm 7.0.0-beta22@de27e5724ee5997a1e3baee4d394ca6f4e46eba0 Pass

No diagnostics reported.

Source

<?php

declare(strict_types=1);

namespace Conformance\Tests\DirectivesPhpstanStrictBoolCondition;

/**
 * PHPStan strict-rules opt-in detection for boolean conditions.
 *
 * References:
 * - PHPStan strict-rules boolean conditions
 *
 * @conformance-kind style
 */
function isPositive(int $value): bool
{
    if ($value) { // E<phpstan-strict>: strict PHPStan requires an explicit boolean condition
        return true;
    }

    return false;
}