MD_QA/rules/phpstan-rules.neon

141 lines
5.2 KiB
Plaintext

includes:
- phar://phpstan.phar/conf/bleedingEdge.neon
- ../../../vendor/phpstan/phpstan-deprecation-rules/rules.neon
parameters:
polluteScopeWithLoopInitialAssignments: false
polluteScopeWithAlwaysIterableForeach: false
checkAlwaysTrueCheckTypeFunctionCall: true
checkAlwaysTrueInstanceof: true
checkAlwaysTrueStrictComparison: true
checkExplicitMixedMissingReturn: true
checkFunctionNameCase: true
reportMaybesInMethodSignatures: true
reportStaticMethodSignatures: true
ergebnis:
allowAbstractClasses: true
classesNotRequiredToBeAbstractOrFinal:
- mysqli
- mysqli_stmt
- Exception
- MDGenericWriter
- MDGenericObject
- XMLParser
- LidoParser
- MDValueSet
- MDMysqliInvalidInput
- MDMysqliExpectedError
- MDgenericInvalidInputsException
- MDExpectedException
interfacesImplementedByContainers:
- Psr\Container\ContainerInterface
classesAllowedToBeExtended:
- mysqli
- mysqli_stmt
- Exception
- MDGenericWriter
- MDGenericObject
- XMLParser
- LidoParser
- MDValueSet
- MDMysqliInvalidInput
- MDMysqliExpectedError
- MDgenericInvalidInputsException
- MDExpectedException
disallowedFunctionCalls:
-
function: 'file_get_contents()'
message: 'use MD_STD::file_get_contents() instead'
-
function: 'realpath()'
message: 'use MD_STD::realpath() instead'
-
function: 'unlink()'
message: 'use MD_STD::unlink() instead'
-
function: 'scandir()'
message: 'use MD_STD::scandir() instead'
-
function: 'move_uploaded_file()'
message: 'use MD_STD_IN::move_uploaded_file() instead'
-
function: 'mkdir()'
message: 'use MD_STD::mkdir() instead'
-
function: 'levenshtein()'
message: 'use MD_STD::levenshtein() instead'
-
function: 'json_encode()'
message: 'use MD_STD::json_encode() instead'
disallowedStaticCalls:
-
function: 'MD_STD::startsWith()'
message: 'use str_starts_with() instead'
parametersSchema:
ergebnis: structure([
allowAbstractClasses: bool()
classesAllowedToBeExtended: listOf(string())
classesNotRequiredToBeAbstractOrFinal: listOf(string())
interfacesImplementedByContainers: listOf(string())
])
rules:
# - PHPStan\Rules\BooleansInConditions\BooleanInBooleanAndRule
# - PHPStan\Rules\BooleansInConditions\BooleanInBooleanOrRule
# - PHPStan\Rules\BooleansInConditions\BooleanInElseIfConditionRule
# - PHPStan\Rules\BooleansInConditions\BooleanInTernaryOperatorRule
- PHPStan\Rules\DisallowedConstructs\DisallowedImplicitArrayCreationRule
- PHPStan\Rules\DisallowedConstructs\DisallowedShortTernaryRule
- PHPStan\Rules\ForeachLoop\OverwriteVariablesWithForeachRule
- PHPStan\Rules\Methods\WrongCaseOfInheritedMethodRule
- PHPStan\Rules\Operators\OperandInArithmeticPostDecrementRule
- PHPStan\Rules\Operators\OperandInArithmeticPostIncrementRule
- PHPStan\Rules\Operators\OperandInArithmeticPreDecrementRule
- PHPStan\Rules\Operators\OperandInArithmeticPreIncrementRule
- PHPStan\Rules\StrictCalls\DynamicCallOnStaticMethodsRule
- PHPStan\Rules\StrictCalls\StrictFunctionCallsRule
- PHPStan\Rules\SwitchConditions\MatchingTypeInSwitchCaseConditionRule
- PHPStan\Rules\VariableVariables\VariableMethodCallRule
- PHPStan\Rules\VariableVariables\VariableStaticMethodCallRule
- PHPStan\Rules\VariableVariables\VariableStaticPropertyFetchRule
- PHPStan\Rules\VariableVariables\VariableVariablesRule
- Ergebnis\PHPStan\Rules\Expressions\NoCompactRule
- Ergebnis\PHPStan\Rules\Expressions\NoErrorSuppressionRule
- Ergebnis\PHPStan\Rules\Expressions\NoEvalRule
- Ergebnis\PHPStan\Rules\Files\DeclareStrictTypesRule
- Ergebnis\PHPStan\Rules\Methods\FinalInAbstractClassRule
- Ergebnis\PHPStan\Rules\Methods\PrivateInFinalClassRule
services:
-
class: PHPStan\Rules\BooleansInConditions\BooleanRuleHelper
-
class: PHPStan\Rules\Operators\OperatorRuleHelper
-
class: PHPStan\Rules\VariableVariables\VariablePropertyFetchRule
arguments:
universalObjectCratesClasses: %universalObjectCratesClasses%
tags:
- phpstan.rules.rule
-
class: Ergebnis\PHPStan\Rules\Classes\FinalRule
arguments:
allowAbstractClasses: %ergebnis.allowAbstractClasses%
classesNotRequiredToBeAbstractOrFinal: %ergebnis.classesNotRequiredToBeAbstractOrFinal%
tags:
- phpstan.rules.rule
-
class: Ergebnis\PHPStan\Rules\Classes\NoExtendsRule
arguments:
classesAllowedToBeExtended: %ergebnis.classesAllowedToBeExtended%
tags:
- phpstan.rules.rule
-
class: Ergebnis\PHPStan\Rules\Classes\PHPUnit\Framework\TestCaseWithSuffixRule
tags:
- phpstan.rules.rule