Releases
3.5.4
The PHP 7.4 numeric separator backfill now works correctly for more float formats
Thanks to Juliette Reinders Folmer for the patch
The PHP 7.4 numeric separator backfill is no longer run on PHP version 7.4.0 or greater
File::getCondition()
now accepts a 3rd argument that allows for the closest matching token to be returned
By default, it continues to return the first matched token found from the top of the file
Fixed detection of array return types for arrow functions
Added Generic.PHP.DisallowRequestSuperglobal
to ban the use of the $_REQUEST
superglobal
Thanks to Morerice for the contribution
Generic.ControlStructures.InlineControlStructure
no longer shows errors for while
and for
statements without a body
Previously it required these to have curly braces, but there were no statements to enclose in them
Thanks to Juliette Reinders Folmer for the patch
PSR12.ControlStructures.BooleanOperatorPlacement
can now be configured to enforce a specific operator position
By default, the sniff ensures that operators are all at the beginning or end of lines, but not a mix of both
Set the allowOnly
property to first
to enforce all boolean operators to be at the start of a line
Set the allowOnly
property to last
to enforce all boolean operators to be at the end of a line
Thanks to Vincent Langlet for the patch
PSR12.Files.ImportStatement
now auto-fixes import statements by removing the leading slash
Thanks to Michał Bundyra for the patch
Squiz.ControlStructures.ForLoopDeclaration
now has a setting to ignore newline characters
Default remains FALSE
, so newlines are not allowed within for
definitions
Override the ignoreNewlines
setting in a ruleset.xml
file to change
Squiz.PHP.InnerFunctions
now handles multiple nested anon classes correctly
Fixed bug #2497 : Sniff properties not set when referencing a sniff using relative paths or non-native slashes
Thanks to Juliette Reinders Folmer for the patch
Fixed bug #2657 : Squiz.WhiteSpace.FunctionSpacing can remove spaces between comment and first/last method during auto-fixing
Thanks to Juliette Reinders Folmer for the patch
Fixed bug #2688 : Case statements not tokenized correctly when switch is contained within ternary
Fixed bug #2698 : PHPCS throws errors determining auto report width when shell_exec is disabled
Thanks to Matthew Peveler for the patch
Fixed bug #2730 : PSR12.ControlStructures.ControlStructureSpacing does not ignore comments between conditions
Thanks to Juliette Reinders Folmer for the patch
Fixed bug #2732 : PSR12.Files.FileHeader misidentifies file header in mixed content file
Fixed bug #2745 : AbstractArraySniff wrong indices when mixed coalesce and ternary values
Thanks to Michał Bundyra for the patch
Fixed bug #2748 : Wrong end of statement for fn closures
Thanks to Michał Bundyra for the patch
Fixed bug #2751 : Autoload relative paths first to avoid confusion with files from the global include path
Thanks to Klaus Purer for the patch
Fixed bug #2763 : PSR12 standard reports errors for multi-line FOR definitions
Fixed bug #2768 : Generic.Files.LineLength false positive for non-breakable strings at exactly the soft limit
Thanks to Alex Miles for the patch
Fixed bug #2773 : PSR2.Methods.FunctionCallSignature false positive when arrow function has array return type
Fixed bug #2790 : PSR12.Traits.UseDeclaration ignores block comments
Thanks to Vincent Langlet for the patch
Fixed bug #2791 : PSR12.Functions.NullableTypeDeclaration false positive when ternary operator used with instanceof
Thanks to Juliette Reinders Folmer for the patch
Fixed bug #2802 : Can't specify a report file path using the tilde shortcut
Fixed bug #2804 : PHP4-style typed properties not tokenized correctly
Thanks to Juliette Reinders Folmer for the patch
Fixed bug #2805 : Undefined Offset notice during live coding of arrow functions
Thanks to Juliette Reinders Folmer for the patch
Fixed bug #2843 : Tokenizer does not support alternative syntax for declare statements
Thanks to Juliette Reinders Folmer for the patch
You can’t perform that action at this time.