This is the list of analyses that were run. Those that doesn't have result will not be listed in the 'Analyses' section.
This may be due to PHP version or PHP configuration incompatibilities.
Analysis | Code |
---|---|
Adding Zero | Structures/AddZero |
Ambiguous Array Index | Arrays/AmbiguousKeys |
Multiple Index Definition | Arrays/MultipleIdenticalKeys |
Empty Classes | Classes/EmptyClass |
Forgotten Visibility | Classes/NonPpp |
Non Static Methods Called In A Static | Classes/NonStaticMethodsCalledStatic |
Old Style Constructor | Classes/OldStyleConstructor |
Static Methods Called From Object | Classes/StaticMethodsCalledFromObject |
Caught Exceptions | Exceptions/CaughtExceptions |
ext/mcrypt | Extensions/Extmcrypt |
Empty Function | Functions/EmptyFunction |
Redeclared PHP Functions | Functions/RedeclaredPhpFunction |
Methods Without Return | Functions/WithoutReturn |
Empty Interfaces | Interfaces/EmptyInterface |
Incompilable Files | Php/Incompilable |
error_reporting() With Integers | Structures/ErrorReportingWithInteger |
Eval() Usage | Structures/EvalUsage |
Exit() Usage | Structures/ExitUsage |
Forgotten Whitespace | Structures/ForgottenWhiteSpace |
Iffectations | Structures/Iffectation |
Multiply By One | Structures/MultiplyByOne |
@ Operator | Structures/Noscream |
Not Not | Structures/NotNot |
include_once() Usage | Structures/OnceUsage |
Phpinfo | Structures/PhpinfoUsage |
Strpos()-like Comparison | Structures/StrposCompare |
Throws An Assignement | Structures/ThrowsAndAssign |
var_dump()... Usage | Structures/VardumpUsage |
__toString() Throws Exception | Structures/toStringThrowsException |
Malformed Octal | Type/MalformedOctal |
Non Ascii Variables | Variables/VariableNonascii |
Used Once Variables | Variables/VariableUsedOnce |
Bad Constants Names | Constants/BadConstantnames |
Empty Traits | Traits/EmptyTrait |
Unused Use | Namespaces/UnusedUse |
Use With Fully Qualified Name | Namespaces/UseWithFullyQualifiedNS |
$HTTP_RAW_POST_DATA Usage | Php/RawPostDataUsage |
Useless Instructions | Structures/UselessInstruction |
Abstract Static Methods | Classes/AbstractStatic |
Invalid Constant Name | Constants/InvalidName |
Multiple Constant Definition | Constants/MultipleConstantDefinition |
Wrong Optional Parameter | Functions/WrongOptionalParameter |
Multiple Definition Of The Same Argument | Functions/MultipleSameArguments |
Use === null | Php/IsnullVsEqualNull |
$this Is Not An Array | Classes/ThisIsNotAnArray |
One Variable String | Type/OneVariableStrings |
Static Methods Can't Contain $this | Classes/StaticContainsThis |
While(List() = Each()) | Structures/WhileListEach |
Several Instructions On The Same Line | Structures/OneLineTwoInstructions |
Multiples Identical Case | Structures/MultipleDefinedCase |
Switch Without Default | Structures/SwitchWithoutDefault |
$this Belongs To Classes Or Traits | Classes/ThisIsForClasses |
Nested Ternary | Structures/NestedTernary |
Switch With Too Many Default | Structures/SwitchWithMultipleDefault |
Non-constant Index In Array | Arrays/NonConstantArray |
Undefined Constants | Constants/UndefinedConstants |
Instantiating Abstract Class | Classes/InstantiatingAbstractClass |
Class, Interface, Enum Or Trait With Identical Names | Classes/CitSameName |
Empty Try Catch | Structures/EmptyTryCatch |
Undefined Classes | Classes/UndefinedClasses |
Htmlentities Calls | Structures/Htmlentitiescall |
Undefined Class Constants | Classes/UndefinedConstants |
Unused Private Properties | Classes/UnusedPrivateProperty |
Unused Private Methods | Classes/UnusedPrivateMethod |
Unused Functions | Functions/UnusedFunctions |
Used Once Variables (In Scope) | Variables/VariableUsedOnceByContext |
Undefined Functions | Functions/UndefinedFunctions |
Deprecated PHP Functions | Php/Deprecated |
mcrypt_create_iv() With Default Values | Structures/McryptcreateivWithoutOption |
Dangling Array References | Structures/DanglingArrayReferences |
Queries In Loops | Structures/QueriesInLoop |
Var Keyword | Classes/OldStyleVar |
Native Alias Functions Usage | Functions/AliasesUsage |
Uses Default Values | Functions/UsesDefaultArguments |
Wrong Number Of Arguments | Functions/WrongNumberOfArguments |
Hardcoded Passwords | Functions/HardcodedPasswords |
Unresolved Classes | Classes/UnresolvedClasses |
Useless Constructor | Classes/UselessConstructor |
Implements Is For Interface | Classes/ImplementIsForInterface |
Use const | Constants/ConstRecommended |
Unresolved Use | Namespaces/UnresolvedUse |
Unused Constants | Constants/UnusedConstants |
Undefined Parent | Classes/UndefinedParentMP |
Undefined static:: Or self:: | Classes/UndefinedStaticMP |
Accessing Private | Classes/AccessPrivate |
Access Protected Structures | Classes/AccessProtected |
Parent, Static Or Self Outside Class | Classes/PssWithoutClass |
list() May Omit Variables | Structures/ListOmissions |
Or Die | Structures/OrDie |
Unreachable Code | Structures/UnreachableCode |
Written Only Variables | Variables/WrittenOnlyVariable |
Must Return Methods | Functions/MustReturn |
Empty Instructions | Structures/EmptyLines |
Unused Methods | Classes/UnusedMethods |
Overwritten Exceptions | Exceptions/OverwriteException |
Foreach Reference Is Not Modified | Structures/ForeachReferenceIsNotModified |
Direct Injection | Security/DirectInjection |
Don't Change Incomings | Structures/NoChangeIncomingVariables |
Compared Comparison | Structures/ComparedComparison |
Useless Return | Functions/UselessReturn |
Unused Classes | Classes/UnusedClass |
Unpreprocessed Values | Structures/Unpreprocessed |
Undefined Properties | Classes/UndefinedProperty |
Short Open Tags | Php/ShortOpenTagRequired |
Strict Comparison With Booleans | Structures/BooleanStrictComparison |
Lone Blocks | Structures/LoneBlock |
$this Is Not For Static Methods | Classes/ThisIsNotForStatic |
Avoid sleep()/usleep() | Security/NoSleep |
Global Usage | Structures/GlobalUsage |
Logical Should Use Symbolic Operators | Php/LogicalInLetters |
Could Use self | Classes/ShouldUseSelf |
Catch Overwrite Variable | Structures/CatchShadowsVariable |
Deep Definitions | Functions/DeepDefinitions |
Repeated print() | Structures/RepeatedPrint |
Avoid Parenthesis With Language Construct | Structures/PrintWithoutParenthesis |
Objects Don't Need References | Structures/ObjectReferences |
Locally Unused Property | Classes/LocallyUnusedProperty |
Lost References | Variables/LostReferences |
Constants Created Outside Its Namespace | Constants/CreatedOutsideItsNamespace |
Fully Qualified Constants | Namespaces/ConstantFullyQualified |
Never Used Properties | Classes/PropertyNeverUsed |
No Real Comparison | Type/NoRealComparison |
Should Use Local Class | Classes/ShouldUseThis |
parse_str() Warning | Security/parseUrlWithoutParameters |
No Direct Call To Magic Method | Classes/DirectCallToMagicMethod |
String May Hold A Variable | Type/StringHoldAVariable |
Echo With Concat | Structures/EchoWithConcat |
Unused Global | Structures/UnusedGlobal |
Useless Global | Structures/UselessGlobal |
Preprocessable | Structures/ShouldPreprocess |
Useless Final | Classes/UselessFinal |
Use Constant Instead Of Function | Structures/UseConstant |
Useless Unset | Structures/UselessUnset |
Buried Assignation | Structures/BuriedAssignation |
No array_merge() In Loops | Performances/ArrayMergeInLoops |
Useless Parenthesis | Structures/UselessParenthesis |
Unresolved Instanceof | Classes/UnresolvedInstanceof |
Use PHP Object API | Php/UseObjectApi |
Unthrown Exception | Exceptions/Unthrown |
Old Style __autoload() | Php/oldAutoloadUsage |
Altering Foreach Without Reference | Structures/AlteringForeachWithoutReference |
Magic Visibility | Classes/toStringPss |
Use Pathinfo | Php/UsePathinfo |
Should Use Existing Constants | Functions/ShouldUseConstants |
Hash Algorithms | Php/HashAlgos |
Avoid Those Hash Functions | Security/AvoidThoseCrypto |
No Parenthesis For Language Construct | Structures/NoParenthesisForLanguageConstruct |
Unused Label | Structures/UnusedLabel |
No Hardcoded Path | Structures/NoHardcodedPath |
No Hardcoded Port | Structures/NoHardcodedPort |
Use Constant As Arguments | Functions/UseConstantAsArguments |
Implied If | Structures/ImpliedIf |
Overwritten Literals | Variables/OverwrittenLiterals |
Assign Default To Properties | Classes/MakeDefault |
No Public Access | Classes/NoPublicAccess |
Should Chain Exception | Structures/ShouldChainException |
Unused Interfaces | Interfaces/UnusedInterfaces |
Useless Interfaces | Interfaces/UselessInterfaces |
Undefined Interfaces | Interfaces/UndefinedInterfaces |
Double Instructions | Structures/DoubleInstruction |
Should Use Prepared Statement | Security/ShouldUsePreparedStatement |
Hash Algorithms Incompatible With PHP 5.3 | Php/HashAlgos53 |
Hash Algorithms Incompatible With PHP 5.4/5.5 | Php/HashAlgos54 |
Print And Die | Structures/PrintAndDie |
Unchecked Resources | Structures/UncheckedResources |
Unresolved Catch | Classes/UnresolvedCatch |
No Hardcoded Ip | Structures/NoHardcodedIp |
Variable Global | Structures/VariableGlobal |
Else If Versus Elseif | Structures/ElseIfElseif |
Reserved Keywords In PHP 7 | Php/ReservedKeywords7 |
Unset In Foreach | Structures/UnsetInForeach |
Could Be A Static Variable | Structures/CouldBeStatic |
Multiple Class Declarations | Classes/MultipleDeclarations |
Compare Hash | Security/CompareHash |
Empty Namespace | Namespaces/EmptyNamespace |
Could Use Short Assignation | Structures/CouldUseShortAssignation |
Useless Abstract Class | Classes/UselessAbstract |
Null On New | Classes/NullOnNew |
Static Loop | Structures/StaticLoop |
Pre-increment | Performances/PrePostIncrement |
Only Variable Returned By Reference | Structures/OnlyVariableReturnedByReference |
Indices Are Int Or String | Structures/IndicesAreIntOrString |
Should Typecast | Type/ShouldTypecast |
No Self Referencing Constant | Classes/NoSelfReferencingConstant |
No Direct Usage | Structures/NoDirectUsage |
Break Outside Loop | Structures/BreakOutsideLoop |
isset() With Constant | Structures/IssetWithConstant |
Avoid Substr() One | Structures/NoSubstrOne |
Anonymous Classes | Classes/Anonymous |
Double Assignation | Structures/DoubleAssignation |
Unicode Escape Syntax | Php/UnicodeEscapeSyntax |
New Functions In PHP 7.0 | Php/Php70NewFunctions |
PHP 7.0 Removed Functions | Php/Php70RemovedFunctions |
PHP 7.0 New Classes | Php/Php70NewClasses |
PHP 7.0 New Interfaces | Php/Php70NewInterfaces |
Empty List | Php/EmptyList |
List With Array Appends | Php/ListWithAppends |
Simple Global Variable | Php/GlobalWithoutSimpleVariable |
Parenthesis As Parameter | Php/ParenthesisAsParameter |
Foreach Don't Change Pointer | Php/ForeachDontChangePointer |
PHP5 Indirect Variable Expression | Variables/Php5IndirectExpression |
Php 7 Indirect Expression | Variables/Php7IndirectExpression |
Unicode Escape Partial | Php/UnicodeEscapePartial |
Define Constants With Array | Php/DefineWithArray |
PHP 7.0 Removed Directives | Php/Php70RemovedDirective |
Useless Brackets | Structures/UselessBrackets |
preg_replace With Option e | Structures/pregOptionE |
eval() Without Try | Structures/EvalWithoutTry |
No List With String | Php/NoListWithString |
Setlocale() Uses Constants | Structures/SetlocaleNeedsConstants |
Usort Sorting In PHP 7.0 | Php/UsortSorting |
Hexadecimal In String | Type/HexadecimalString |
func_get_arg() Modified | Functions/funcGetArgModified |
Register Globals | Security/RegisterGlobals |
Avoid get_class() | Structures/UseInstanceof |
Silently Cast Integer | Type/SilentlyCastInteger |
PHP7 Dirname | Structures/PHP7Dirname |
Timestamp Difference | Structures/TimestampDifference |
Php7 Relaxed Keyword | Php/Php7RelaxedKeyword |
Unused Parameter | Functions/UnusedArguments |
Switch To Switch | Structures/SwitchToSwitch |
Wrong Parameter Type | Php/InternalParameterType |
Wrong fopen() Mode | Php/FopenMode |
Safe Curl Options | Security/CurlOptions |
Negative Power | Structures/NegativePow |
Already Parents Interface | Interfaces/AlreadyParentsInterface |
Use random_int() | Php/BetterRand |
set_exception_handler() Warning | Php/SetExceptionHandlerPHP7 |
Can't Extend Final | Classes/CantExtendFinal |
Ternary In Concat | Structures/TernaryInConcat |
Using $this Outside A Class | Classes/UsingThisOutsideAClass |
Undefined Trait | Traits/UndefinedTrait |
No Hardcoded Hash | Structures/NoHardcodedHash |
Identical Conditions | Structures/IdenticalConditions |
Unkown Regex Options | Structures/UnknownPregOption |
Random Without Try | Structures/RandomWithoutTry |
No Choice | Structures/NoChoice |
Common Alternatives | Structures/CommonAlternatives |
Logical Mistakes | Structures/LogicalMistakes |
Exception Order | Exceptions/AlreadyCaught |
Uncaught Exceptions | Exceptions/UncaughtExceptions |
Undefined Caught Exceptions | Exceptions/CaughtButNotThrown |
Same Conditions In Condition | Structures/SameConditions |
Php 7.1 New Class | Php/Php71NewClasses |
Return True False | Structures/ReturnTrueFalse |
Indirect Injection | Security/IndirectInjection |
Useless Switch | Structures/UselessSwitch |
Could Use __DIR__ | Structures/CouldUseDir |
Should Use Coalesce | Php/ShouldUseCoalesce |
Make Global A Property | Classes/MakeGlobalAProperty |
List With Keys | Php/ListWithKeys |
If With Same Conditions | Structures/IfWithSameConditions |
Unserialize Second Arg | Security/UnserializeSecondArg |
Throw Functioncall | Exceptions/ThrowFunctioncall |
Use Instanceof | Classes/UseInstanceof |
List Short Syntax | Php/ListShortSyntax |
Results May Be Missing | Structures/ResultMayBeMissing |
Use Nullable Type | Php/UseNullableType |
Always Positive Comparison | Structures/NeverNegative |
PHP 7.1 Removed Directives | Php/Php71RemovedDirective |
New Functions In PHP 7.1 | Php/Php71NewFunctions |
Multiple Exceptions Catch() | Exceptions/MultipleCatch |
Empty Blocks | Structures/EmptyBlocks |
Throw In Destruct | Classes/ThrowInDestruct |
Unused Protected Methods | Classes/UnusedProtectedMethods |
Use System Tmp | Structures/UseSystemTmp |
Dependant Trait | Traits/DependantTrait |
Hidden Use Expression | Namespaces/HiddenUse |
Should Make Alias | Namespaces/ShouldMakeAlias |
Multiple Identical Trait Or Interface | Classes/MultipleTraitOrInterface |
Multiple Alias Definitions | Namespaces/MultipleAliasDefinitions |
Nested Ifthen | Structures/NestedIfthen |
Cast To Boolean | Structures/CastToBoolean |
Failed Substr() Comparison | Structures/FailingSubstrComparison |
Should Use Ternary Operator | Structures/ShouldMakeTernary |
Unused Returned Value | Functions/UnusedReturnedValue |
Modernize Empty With Expression | Structures/ModernEmpty |
Use Positive Condition | Structures/UsePositiveCondition |
Drop Else After Return | Structures/DropElseAfterReturn |
Use ::Class Operator | Classes/UseClassOperator |
Don't Echo Error | Security/DontEchoError |
Useless Type Casting | Structures/UselessCasting |
No isset() With empty() | Structures/NoIssetWithEmpty |
Useless Check | Structures/UselessCheck |
Bail Out Early | Structures/BailOutEarly |
PHP 7.1 Microseconds | Php/Php71microseconds |
Don't Change The Blind Var | Structures/DontChangeBlindKey |
Rethrown Exceptions | Exceptions/Rethrown |
Avoid Using stdClass | Php/UseStdclass |
Invalid Octal In String | Type/OctalInString |
Too Many Local Variables | Functions/TooManyLocalVariables |
Illegal Name For Method | Classes/WrongName |
No String With Append | Php/NoStringWithAppend |
Long Arguments | Structures/LongArguments |
Assigned Twice | Variables/AssignedTwiceOrMore |
PHP 7.2 Deprecations | Php/Php72Deprecation |
PHP 7.2 Removed Functions | Php/Php72RemovedFunctions |
No Boolean As Default | Functions/NoBooleanAsDefault |
Forgotten Thrown | Exceptions/ForgottenThrown |
Multiple Alias Definitions Per File | Namespaces/MultipleAliasDefinitionPerFile |
__DIR__ Then Slash | Structures/DirThenSlash |
self, parent, static Outside Class | Classes/NoPSSOutsideClass |
Used Once Property | Classes/UsedOnceProperty |
Property Used In One Method Only | Classes/PropertyUsedInOneMethodOnly |
No Need For Else | Structures/NoNeedForElse |
Should Use session_regenerateid() | Security/ShouldUseSessionRegenerateId |
Strange Name For Constants | Constants/StrangeName |
Encoded Simple Letters | Security/EncodedLetters |
Too Many Finds | Classes/TooManyFinds |
Should Use SetCookie() | Php/UseSetCookie |
Set Cookie Safe Arguments | Security/SetCookieArgs |
Check All Types | Structures/CheckAllTypes |
Missing Cases In Switch | Structures/MissingCases |
New Functions In PHP 7.2 | Php/Php72NewFunctions |
New Constants In PHP 7.2 | Php/Php72NewConstants |
Group Use Declaration | Php/GroupUseDeclaration |
Repeated Regex | Structures/RepeatedRegex |
No Class In Global | Php/NoClassInGlobal |
Crc32() Might Be Negative | Php/Crc32MightBeNegative |
Could Use str_repeat() | Structures/CouldUseStrrepeat |
Suspicious Comparison | Structures/SuspiciousComparison |
Strings With Strange Space | Type/StringWithStrangeSpace |
No Empty Regex | Structures/NoEmptyRegex |
Alternative Syntax Consistence | Structures/AlternativeConsistenceByFile |
Randomly Sorted Arrays | Arrays/RandomlySortedLiterals |
Only Variable Passed By Reference | Functions/OnlyVariablePassedByReference |
No Return Used | Functions/NoReturnUsed |
No Reference On Left Side | Structures/NoReferenceOnLeft |
Implemented Methods Must Be Public | Classes/ImplementedMethodsArePublic |
Mixed Concat And Interpolation | Structures/MixedConcatInterpolation |
New Functions In PHP 7.3 | Php/Php73NewFunctions |
Too Many Injections | Classes/TooManyInjections |
Could Make A Function | Functions/CouldCentralize |
Forgotten Interface | Interfaces/CouldUseInterface |
Cant Inherit Abstract Method | Classes/CantInheritAbstractMethod |
Avoid Optional Properties | Classes/AvoidOptionalProperties |
No Return Or Throw In Finally | Structures/NoReturnInFinally |
Mkdir Default | Security/MkdirDefault |
Mismatched Ternary Alternatives | Structures/MismatchedTernary |
Mismatched Default Arguments | Functions/MismatchedDefaultArguments |
Mismatched Typehint | Functions/MismatchedTypehint |
Scalar Or Object Property | Classes/ScalarOrObjectProperty |
Group Use Trailing Comma | Php/GroupUseTrailingComma |
Assign And Lettered Logical Operator Precedence | Php/AssignAnd |
No Magic Method With Array | Classes/NoMagicWithArray |
PHP 7.2 Object Keyword | Php/Php72ObjectKeyword |
Child Class Removes Typehint | Classes/ChildRemoveTypehint |
No Substr Minus One | Php/NoSubstrMinusOne |
Logical To in_array | Performances/LogicalToInArray |
Pathinfo() Returns May Vary | Php/PathinfoReturns |
Switch Fallthrough | Structures/Fallthrough |
Upload Filename Injection | Security/UploadFilenameInjection |
Always Anchor Regex | Security/AnchorRegex |
Multiple Type Variable | Structures/MultipleTypeVariable |
Is Actually Zero | Structures/IsZero |
Unconditional Break In Loop | Structures/UnconditionLoopBreak |
Session Lazy Write | Security/SessionLazyWrite |
Could Be Else | Structures/CouldBeElse |
Next Month Trap | Structures/NextMonthTrap |
Printf Number Of Arguments | Structures/PrintfArguments |
Ambiguous Static | Classes/AmbiguousStatic |
Don't Send $this In Constructor | Classes/DontSendThisInConstructor |
Integer As Property | Classes/IntegerAsProperty |
No get_class() With Null | Structures/NoGetClassNull |
Php 7.2 New Class | Php/Php72NewClasses |
Avoid set_error_handler $context Argument | Php/AvoidSetErrorHandlerContextArg |
Hash Will Use Objects | Php/HashUsesObjects |
Can't Count Non-Countable | Structures/CanCountNonCountable |
Maybe Missing New | Structures/MissingNew |
Unknown Pcre2 Option | Php/UnknownPcre2Option |
Parent First | Classes/ParentFirst |
Invalid Regex | Structures/InvalidRegex |
Use Named Boolean In Argument Definition | Functions/AvoidBooleanArgument |
Same Variable Foreach | Structures/AutoUnsetForeach |
Never Called Parameter | Functions/NeverUsedParameter |
Identical On Both Sides | Structures/IdenticalOnBothSides |
Identical Consecutive Expression | Structures/IdenticalConsecutive |
No Reference For Ternary | Php/NoReferenceForTernary |
Sqlite3 Requires Single Quotes | Security/Sqlite3RequiresSingleQuotes |
No Net For Xml Load | Security/NoNetForXmlLoad |
Unused Inherited Variable In Closure | Functions/UnusedInheritedVariable |
Inclusion Wrong Case | Files/InclusionWrongCase |
Missing Include | Files/MissingInclude |
Useless Referenced Argument | Functions/UselessReferenceArgument |
Possible Infinite Loop | Structures/PossibleInfiniteLoop |
List With Reference | Php/ListWithReference |
Test Then Cast | Structures/TestThenCast |
Foreach On Object | Php/ForeachObject |
Dynamic Library Loading | Security/DynamicDl |
PHP 7.3 Last Empty Argument | Php/PHP73LastEmptyArgument |
Property Could Be Local | Classes/PropertyCouldBeLocal |
Too Many Native Calls | Php/TooManyNativeCalls |
Don't Unset Properties | Classes/DontUnsetProperties |
Strtr Arguments | Php/StrtrArguments |
Missing Parenthesis | Structures/MissingParenthesis |
Callback Function Needs Return | Functions/CallbackNeedsReturn |
Wrong Range Check | Structures/WrongRange |
Can't Instantiate Class | Classes/CantInstantiateClass |
strpos() Too Much | Performances/StrposTooMuch |
Class-typed References | Functions/TypehintedReferences |
Weak Typing | Classes/WeakType |
Configure Extract | Security/ConfigureExtract |
Nonexistent Variable In compact() | Php/CompactInexistant |
Method Signature Must Be Compatible | Classes/MethodSignatureMustBeCompatible |
Mismatch Type And Default | Functions/MismatchTypeAndDefault |
Flexible Heredoc | Php/FlexibleHeredoc |
Check JSON | Structures/CheckJson |
Const Visibility Usage | Classes/ConstVisibilityUsage |
move_uploaded_file Instead Of copy | Security/MoveUploadedFile |
Don't Mix ++ | Structures/DontMixPlusPlus |
Can't Throw Throwable | Exceptions/CantThrow |
Abstract Or Implements | Classes/AbstractOrImplements |
Incompatible Signature Methods | Classes/IncompatibleSignature |
Ambiguous Visibilities | Classes/AmbiguousVisibilities |
Hash Algorithms Incompatible With PHP 7.1- | Php/HashAlgos71 |
Undefined ::class | Classes/UndefinedStaticclass |
PHP 7.0 Scalar Typehints | Php/PHP70scalartypehints |
PHP 7.1 Scalar Typehints | Php/PHP71scalartypehints |
PHP 7.2 Scalar Typehints | Php/PHP72scalartypehints |
Case Insensitive Constants | Constants/CaseInsensitiveConstants |
Detect Current Class | Php/DetectCurrentClass |
Assert Function Is Reserved | Php/AssertFunctionIsReserved |
Could Be Abstract Class | Classes/CouldBeAbstractClass |
Continue Is For Loop | Structures/ContinueIsForLoop |
PHP 7.3 Removed Functions | Php/Php73RemovedFunctions |
Trailing Comma In Calls | Php/TrailingComma |
Must Call Parent Constructor | Php/MustCallParentConstructor |
Undefined Variable | Variables/UndefinedVariable |
Undefined Insteadof | Traits/UndefinedInsteadof |
Method Collision Traits | Traits/MethodCollisionTraits |
Class Could Be Final | Classes/CouldBeFinal |
Only Variable For Reference | Functions/OnlyVariableForReference |
Direct Call To __clone() | Php/DirectCallToClone |
filter_input() As A Source | Security/FilterInputSource |
Wrong Access Style to Property | Classes/UndeclaredStaticProperty |
Invalid Pack Format | Structures/InvalidPackFormat |
No Return For Generator | Php/NoReturnForGenerator |
Repeated Interface | Interfaces/RepeatedInterface |
No Reference For Static Property | Php/NoReferenceForStaticProperty |
Don't Read And Write In One Expression | Structures/DontReadAndWriteInOneExpression |
idn_to_ascii() New Default | Php/IdnUts46 |
Should Yield With Key | Functions/ShouldYieldWithKey |
Safe HTTP Headers | Security/SafeHttpHeaders |
Useless Method Alias | Traits/UselessAlias |
Self Using Trait | Traits/SelfUsingTrait |
Method Could Be Static | Classes/CouldBeStatic |
Possible Missing Subpattern | Php/MissingSubpattern |
Assign And Compare | Structures/AssigneAndCompare |
Typed Property Usage | Php/TypedPropertyUsage |
Variable Is Not A Condition | Structures/NoVariableIsACondition |
Array With String Initialization | Arrays/StringInitialization |
Insufficient Typehint | Functions/InsufficientTypehint |
PHP 8.0 Removed Functions | Php/Php80RemovedFunctions |
PHP 8.0 Removed Constants | Php/Php80RemovedConstant |
Type Must Be Returned | Functions/TypehintMustBeReturned |
Clone With Non-Object | Classes/CloneWithNonObject |
Check On __Call Usage | Classes/CheckOnCallUsage |
Insecure Integer Validation | Security/IntegerConversion |
Avoid option arrays in constructors | Classes/AvoidOptionArrays |
Already Parents Trait | Traits/AlreadyParentsTrait |
Trait Not Found | Traits/TraitNotFound |
Casting Ternary | Structures/CastingTernary |
Concat Empty String | Structures/ConcatEmpty |
Concat And Addition | Php/ConcatAndAddition |
Useless Argument | Functions/UselessArgument |
New Functions In PHP 7.4 | Php/Php74NewFunctions |
Unpacking Inside Arrays | Php/UnpackingInsideArrays |
Minus One On Error | Security/MinusOneOnError |
No Append On Source | Structures/NoAppendOnSource |
Memoize MagicCall | Performances/MemoizeMagicCall |
curl_version() Has No Argument | Structures/CurlVersionNow |
Php 7.4 New Classes | Php/Php74NewClasses |
New Constants In PHP 7.4 | Php/Php74NewConstants |
Unused Class Constant | Classes/UnusedConstant |
Infinite Recursion | Structures/InfiniteRecursion |
Null Or Boolean Arrays | Arrays/NullBoolean |
Dependant Abstract Classes | Classes/DependantAbstractClass |
Wrong Type Returned | Functions/WrongReturnedType |
Generator Cannot Return | Functions/GeneratorCannotReturn |
Useless Type Check | Functions/UselessTypeCheck |
Overwritten Source And Value | Structures/ForeachSourceValue |
Avoid mb_dectect_encoding() | Php/AvoidMbDectectEncoding |
PHP 7.4 Removed Functions | Php/Php74RemovedFunctions |
mb_strrpos() Third Argument | Php/Php74mbstrrpos3rdArg |
array_key_exists() Works On Arrays | Php/ArrayKeyExistsWithObjects |
Reflection Export() Is Deprecated | Php/ReflectionExportIsDeprecated |
Unbinding Closures | Functions/UnbindingClosures |
Numeric Literal Separator | Php/IntegerSeparatorUsage |
Class Without Parent | Classes/NoParent |
Scalar Are Not Arrays | Php/ScalarAreNotArrays |
PHP 7.4 Reserved Keyword | Php/Php74ReservedKeyword |
No ENT_IGNORE | Security/NoEntIgnore |
No More Curly Arrays | Php/NoMoreCurlyArrays |
array_merge() And Variadic | Structures/ArrayMergeAndVariadic |
PHP 7.4 Constant Deprecation | Php/Php74Deprecation |
Implode() Arguments Order | Structures/ImplodeArgsOrder |
PHP 7.4 Removed Directives | Php/Php74RemovedDirective |
Hash Algorithms Incompatible With PHP 7.4- | Php/HashAlgos74 |
openssl_random_pseudo_byte() Second Argument | Structures/OpensslRandomPseudoByteSecondArg |
strip_tags() Skips Closed Tag | Structures/StripTagsSkipsClosedTag |
No Spread For Hash | Arrays/NoSpreadForHash |
Max Level Of Nesting | Structures/MaxLevelOfIdentation |
Environment Variable Usage | Dump/EnvironnementVariables |
Indentation Levels | Dump/IndentationLevels |
Nested Ternary Without Parenthesis | Php/NestedTernaryWithoutParenthesis |
Cyclomatic Complexity | Dump/CyclomaticComplexity |
Should Use Explode Args | Structures/ShouldUseExplodeArgs |
Use array_slice() | Performances/UseArraySlice |
PHP 74 New Directives | Php/Php74NewDirective |
Too Many Array Dimensions | Arrays/TooManyDimensions |
Coalesce And Concat | Structures/CoalesceAndConcat |
Comparison Is Always The Same | Structures/AlwaysFalse |
Incompatible Signature Methods With Covariance | Classes/IncompatibleSignature74 |
Interfaces Is Not Implemented | Interfaces/IsNotImplemented |
No Literal For Reference | Functions/NoLiteralForReference |
Interfaces Don't Ensure Properties | Interfaces/NoGaranteeForPropertyConstant |
Collect Literals | Dump/CollectLiterals |
No Weak SSL Crypto | Security/NoWeakSSLCrypto |
Collect Parameter Counts | Dump/CollectParameterCounts |
Collect Local Variable Counts | Dump/CollectLocalVariableCounts |
Non Nullable Getters | Classes/NonNullableSetters |
Dereferencing Levels | Dump/DereferencingLevels |
Too Many Dereferencing | Classes/TooManyDereferencing |
Foreach() Favorite | Dump/CollectForeachFavorite |
Can't Implement Traversable | Interfaces/CantImplementTraversable |
Is_A() With String | Php/IsAWithString |
Mbstring Unknown Encoding | Structures/MbstringUnknownEncoding |
Collect Mbstring Encodings | Dump/CollectMbstringEncodings |
Filter To add_slashes() | Php/FilterToAddSlashes |
Mbstring Third Arg | Structures/MbstringThirdArg |
Typehinting Stats | Dump/TypehintingStats |
Merge If Then | Structures/MergeIfThen |
Wrong Type With Call | Functions/WrongTypeWithCall |
Inclusions | Dump/Inclusions |
Typehint Order | Dump/Typehintorder |
New Order | Dump/NewOrder |
Collect Class Interface Counts | Dump/CollectClassInterfaceCounts |
Collect Class Depth | Dump/CollectClassDepth |
Collect Class Children Count | Dump/CollectClassChildren |
Not Equal Is Not !== | Structures/NotEqual |
Coalesce Equal | Php/CoalesceEqual |
Constant Order | Dump/ConstantOrder |
Php 8.0 Variable Syntax Tweaks | Php/Php80VariableSyntax |
New Functions In PHP 8.0 | Php/Php80NewFunctions |
Don't Collect Void | Functions/DontUseVoid |
Php 8.0 Only TypeHints | Php/Php80OnlyTypeHints |
Union Typehint | Php/Php80UnionTypehint |
Wrong Typed Property Default | Classes/WrongTypedPropertyInit |
Signature Trailing Comma | Php/SignatureTrailingComma |
Implicit Nullable Type | Classes/HiddenNullable |
Fn Argument Variable Confusion | Functions/FnArgumentVariableConfusion |
Missing Abstract Method | Classes/MissingAbstractMethod |
Throw Was An Expression | Php/ThrowWasAnExpression |
Keep Files Access Restricted | Security/KeepFilesRestricted |
Check Crypto Key Length | Security/CryptoKeyLength |
Undefined Constant Name | Variables/UndefinedConstantName |
Using Deprecated Method | Functions/UsingDeprecated |
Collect Property Counts | Dump/CollectPropertyCounts |
Collect Method Counts | Dump/CollectMethodCounts |
Collect Class Constant Counts | Dump/CollectClassConstantCounts |
Cyclic References | Classes/CyclicReferences |
Double Object Assignation | Structures/DoubleObjectAssignation |
Wrong Argument Type | Functions/WrongArgumentType |
Call Order | Dump/CallOrder |
Uses PHP 8 Match() | Php/UseMatch |
Mismatch Properties Typehints | Classes/MismatchProperties |
Collect Parameter Names | Dump/CollectParameterNames |
No Need For Triple Equal | Structures/NoNeedForTriple |
Array_merge Needs Array Of Arrays | Structures/ArrayMergeArrayArray |
Wrong Type For Native PHP Function | Php/WrongTypeForNativeFunction |
Catch With Undefined Variable | Exceptions/CatchUndefinedVariable |
Swapped Arguments | Classes/SwappedArguments |
Fossilized Methods List | Dump/FossilizedMethods |
Collect Static Class Changes | Dump/CollectClassChanges |
Different Argument Counts | Classes/DifferentArgumentCounts |
Unknown Parameter Name | Functions/UnknownParameterName |
Missing Some Returntype | Typehints/MissingReturntype |
Don't Pollute Global Space | Php/DontPolluteGlobalSpace |
Collects Variables | Dump/CollectVariables |
Collect Global Variables | Dump/CollectGlobalVariables |
Collect Readability | Dump/CollectReadability |
Collect Definitions Statistics | Dump/CollectDefinitionsStats |
Collect Class Traits Counts | Dump/CollectClassTraitsCounts |
Collect Native Calls Per Expressions | Dump/CollectNativeCallsPerExpressions |
Cast Unset Usage | Php/CastUnsetUsage |
$php_errormsg Usage | Php/PhpErrorMsgUsage |
Mismatch Parameter Name | Functions/MismatchParameterName |
Multiple Declaration Of Strict_types | Php/MultipleDeclareStrict |
Collect Files Dependencies | Dump/CollectFilesDependencies |
Collect Atom Counts | Dump/CollectAtomCounts |
Collect Classes Dependencies | Dump/CollectClassesDependencies |
Collect Php Structures | Dump/CollectPhpStructures |
Array_Fill() With Objects | Structures/ArrayFillWithObjects |
Modified Typed Parameter | Functions/ModifyTypedParameter |
Assumptions | Php/Assumptions |
Collect Use Counts | Dump/CollectUseCounts |
PHP 8.0 Removed Directives | Php/Php80RemovedDirective |
Unsupported Types With Operators | Structures/UnsupportedTypesWithOperators |
Negative Start Index In Array | Arrays/NegativeStart |
Nullable With Constant | Functions/NullableWithConstant |
Collect Block Size | Dump/CollectBlockSize |
PHP 8.0 Resources Turned Into Objects | Php/Php80RemovesResources |
PHP 80 Named Parameter Variadic | Php/Php80NamedParameterVariadic |
Wrong Attribute Configuration | Php/WrongAttributeConfiguration |
Cancelled Parameter | Functions/CancelledParameter |
Constant Typo Looks Like A Variable | Variables/ConstantTypo |
Final Private Methods | Classes/FinalPrivate |
Array_Map() Passes By Value | Structures/ArrayMapPassesByValue |
Missing __isset() Method | Php/MissingMagicIsset |
Modify Immutable | Attributes/ModifyImmutable |
Reserved Match Keyword | Php/ReservedMatchKeyword |
Avoid get_object_vars() | Php/AvoidGetobjectVars |
Cannot Use Static For Closure | Functions/CannotUseStaticForClosure |
Only First Byte | Structures/OnlyFirstByte |
Restrict Global Usage | Php/RestrictGlobalUsage |
Inherited Property Type Must Match | Classes/InheritedPropertyMustMatch |
No Object As Index | Structures/NoObjectAsIndex |
Inherited Static Variable | Variables/InheritedStaticVariable |
Enum Usage | Php/EnumUsage |
PHP 8.1 Removed Directives | Php/Php81RemovedDirective |
Htmlentities Using Default Flag | Structures/HtmlentitiescallDefaultFlag |
Openssl Encrypt Default Algorithm Change | Php/OpensslEncryptAlgoChange |
PHP 8.1 Removed Constants | Php/Php81RemovedConstant |
Wrong Argument Name With PHP Function | Functions/WrongArgumentNameWithPhpFunction |
Duplicate Named Parameter | Functions/DuplicateNamedParameter |
PHP Native Class Type Compatibility | Php/NativeClassTypeCompatibility |
Missing Attribute Attribute | Attributes/MissingAttributeAttribute |
$FILES full_path | Php/FilesFullPath |
No Null For Native PHP Functions | Php/NoNullForNative |
Calling Static Trait Method | Php/CallingStaticTraitMethod |
No Referenced Void | Functions/NoReferencedVoid |
PHP Native Interfaces and Return Type | Php/JsonSerializeReturnType |
Final Constant | Php/FinalConstant |
Never Typehint Usage | Php/NeverTypehintUsage |
PHP 8.1 Typehints | Php/PHP81scalartypehints |
PHP 8.0 Typehints | Php/PHP80scalartypehints |
Named Parameter Usage | Php/NamedParameterUsage |
New Functions In PHP 8.1 | Php/Php81NewFunctions |
PHP 8.1 Removed Functions | Php/Php81RemovedFunctions |
Never Keyword | Php/NeverKeyword |
Mixed Keyword | Php/MixedKeyword |
False To Array Conversion | Php/FalseToArray |
Float Conversion As Index | Arrays/FloatConversionAsIndex |
Cannot Call Static Trait Method Directly | Traits/CannotCallTraitMethod |
Nested Attributes | Attributes/NestedAttributes |
New Initializers | Php/NewInitializers |
Overwritten Foreach Var | Structures/OverwrittenForeachVar |
Cant Overload Constants | Interfaces/CantOverloadConstants |
Recycled Variables | Variables/RecycledVariables |
Check Division By Zero | Structures/CheckDivision |
Don't Reuse Foreach Source | Structures/DontReuseForeachSource |
Collect Dependency Extension | Dump/CollectDependencyExtension |
Unreachable Method | Classes/UnreachableMethod |
Unfinished Object | Classes/UnfinishedObject |
Undefined Enumcase | Enums/UndefinedEnumcase |
Identical Elseif | Structures/IdenticalElseif |
Use Variable Created Inside Loop | Structures/UseVariableInsideLoop |
Don't Add Seconds | Structures/DontAddSeconds |
Use Constants As Returns | Functions/UseConstantsAsReturns |
Identical Variables In Foreach | Structures/IdenticalVariablesInForeach |
Can't Overwrite Final Constant | Classes/CantOverwriteFinalConstant |
String Int Comparison | Php/StringIntComparison |
Could Be A Constant | Dump/CouldBeAConstant |
Unsupported Operand Types | Structures/UnsupportedOperandTypes |
array_merge With Ellipsis | Structures/ArrayMergeWithEllipsis |
version_compare Operator | Php/VersionCompareOperator |
PHP 8.1 Resources Turned Into Objects | Php/Php81RemovesResources |
Do Not Cast To Int | Php/NoCastToInt |
Constant Scalar Expression | Php/ConstantScalarExpression |
Could Be Spaceship | Structures/CouldBeSpaceship |
Unused Enumeration Case | Enums/UnusedEnumCase |
Useless Null Coalesce | Structures/UselessNullCoalesce |
Throw Raw Exceptions | Exceptions/ThrowRawExceptions |
Collect Stub Structures | Dump/CollectStubStructures |
Implicit Conversion To Int | Structures/ImplicitConversionToInt |
Use Same Types For Comparisons | Structures/UseSameTypesForComparisons |
Wrong Locale | Structures/WrongLocale |
Parent Is Not Static | Classes/ParentIsNotStatic |
No Magic Method For Enum | Enums/NoMagicMethod |
No Readonly Assignation In Global | Classes/NoReadonlyAssignationInGlobal |
Overload Existing Names | Namespaces/OverloadExistingNames |
Collect Vendor Structures | Dump/CollectVendorStructures |
Retyped Reference | Functions/RetypedReference |
Wrong Type With Default | Typehints/WrongTypeWithDefault |
Sprintf Format Compilation | Structures/SprintfFormatCompilation |
Invalid Date Scanning Format | Structures/InvalidDateScanningFormat |
Same Name For Property And Method | Classes/PropertyMethodSameName |
No Private Abstract Method In Trait | Traits/NoPrivateAbstract |
DateTimeImmutable Is Not Immutable | Php/DateTimeNotImmutable |
No Default For Referenced Parameter | Functions/NoDefaultForReference |
Clone Constant | Php/CloneConstant |
Could Inject Parameter | Classes/CouldInjectParam |
Unused Public Methods | Classes/UnusedPublicMethod |
No Keyword In Namespace | Namespaces/NoKeywordInNamespace |
Mbstring Unknown Encodings | Structures/MbStringNonEncodings |
Named Argument And Variadic | Php/NamedArgumentAndVariadic |
Coalesce And Ternary Operators Order | Structures/CoalesceNullCoalesce |
Useless Assignation Of Promoted Property | Classes/UselessAssignationOfPromotedProperty |
Incompatible Types With Incoming Values | Security/IncompatibleTypesWithIncoming |
Empty Loop | Structures/EmptyLoop |
Collect Calls | Dump/CollectCalls |
Useless Method | Classes/UselessMethod |
Weak Type With Array | Arrays/WeakType |
Multiple Type Cases In Switch | Structures/MultipleTypeCasesInSwitch |
Filter Not Raw | Security/FilterNotRaw |
Collect SetLocale | Dump/CollectSetLocale |
No Max On Empty Array | Structures/NoMaxOnEmptyArray |
No Empty String With explode() | Structures/NoEmptyStringWithExplode |
Array Access On Literal Array | Structures/ArrayAccessOnLiteralArray |
Double Checks | Structures/DoubleChecks |
strpos() With Integers | Php/StrposWithIntegers |
Unvalidated Data Cached In Session | Security/SessionCachedData |
Missing Assignation In Branches | Structures/MissingAssignation |
Argument Counts Per Calls | Dump/ArgumentCountsPerCalls |
No Valid Cast | Structures/NoValidCast |
Misused Yield | Structures/MisusedYield |
Collect Methods Throwing Exceptions | Dump/CollectMethodsThrowingExceptions |
Collect Throw Calls | Dump/CollectThrow |
Collect Compared Literals | Dump/DumpComparedLiterals |
Comparison On Different Types | Php/ComparisonOnDifferentTypes |
No Null For Index | Structures/NoNullForIndex |
Collects Names | Dump/CollectsNames |
Useless Try | Exceptions/UselessTry |
Converted Exceptions | Exceptions/ConvertedExceptions |
Method Is Not An If | Functions/MethodIsNotAnIf |
Default Then Discard | Structures/DefaultThenDiscard |
Class Injection Count | Dump/ClassInjectionCount |
Collect Property Usage | Dump/CollectPropertyUsage |
Collect Structures | Dump/CollectStructures |
Collect Catch Calls | Dump/CollectCatch |
Identical Case In Switch | Structures/IdenticalCase |
StandaloneType True False Null | Typehints/StandaloneTypeTFN |
Constants In Traits | Traits/ConstantsInTraits |
Could Use Yield From | Structures/CouldUseYieldFrom |
Use Enum Case In Constant Expression | Php/UseEnumCaseInConstantExpression |
Readonly Property Changed By Cloning | Php/ReadonlyPropertyChangedByCloning |
New Dynamic Class Constant Syntax | Classes/NewDynamicConstantSyntax |
class_alias() Supports Internal Classes | Php/ClassAliasSupportsInternalClasses |
Redeclared Static Variable | Variables/RedeclaredStaticVariable |
Static Variable Can Default To Arbitrary Expression | Php/StaticVariableDefaultCanBeAnyExpression |
Final Traits Are Final | Traits/FinalTraitsAreFinal |
Typed Class Constants Usage | Classes/TypedClassConstants |
Append And Assign Arrays | Arrays/AppendAndAssignArrays |
Static Variable Initialisation | Variables/StaticVariableInitialisation |
Collect Graph Triplets | Dump/CollectGraphTriplets |
Static Variable In Namespace | Variables/StaticVariableInNamespace |
Static Methods Cannot Call Non-Static Methods | Classes/StaticCannotCallNonStatic |
Trait Is Not A Type | Traits/TraitIsNotAType |
Cannot Use Append For Reading | Structures/CannotUseAppendForReading |
Void Is Not A Reference | Functions/VoidIsNotAReference |
Can't Call Generator | Functions/CanCallGenerator |
Non Integer Nor String As Index | Structures/NonIntStringAsIndex |
Cant Instantiate Non Class | Classes/CantInstantiateNonClass |
Check After Null Safe Operator | Classes/CheckAfterNullSafeOperator |
No Null With Null Safe Operator | Classes/NoNullWithNullSafeOperator |
Invalid Cast | Structures/InvalidCast |
Could Drop Variable | Exceptions/CouldDropVariable |
New Object Then Immediate Call | Classes/NewThenCall |
Try Without Catch | Exceptions/TryNoCatch |
Wrong Precedence In Expression | Structures/WrongPrecedenceInExpression |
Only Variable Passed By Reference | Php/OnlyVariablePassedByReference |
Nested Match | Structures/NestedMatch |
Useless Short Ternary | Structures/UselessShortTernary |
Combined Calls | Dump/CombinedCalls |
Empty Json Error | Structures/EmptyJsonError |
Useless Coalesce | Structures/UselessCoalesce |
Count() Is Not Negative | Structures/CountIsNotNegative |
Exit Without Argument | Php/ExitNoArg |
PHP 8.1 New Types | Php/Php81NewTypes |
PHP 8.2 New Types | Php/Php82NewTypes |
Strpos() Less Than One | Structures/StrposLessThanOne |
Include Variables | Php/IncludeVariables |
Static Inclusions | Structures/StaticInclude |
Constant Used Only Once | Constants/ConstantUsedOnce |
Useless Override Attribute | Attributes/UselessOverride |
Adding Zero | Structures/AddZero |
Multiply By One | Structures/MultiplyByOne |