All notable changes to this project will be documented in this file, in reverse chronological order by release.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
#74 fixes false-positive in
Namespaces\UnusedUseStatement
for multiple trait usages. -
#75 allows
null
value for properties with nullable type declaration (PHP 7.4+). -
#76 fixes recognising annotations in property PHPDocs:
Commenting\TagWithType
sniff. -
#78 fixes false-positive for mixed type in PHPDoc return tag:
Functions\ReturnType
sniff.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #70 fixes
Namespaces\AlphabeticallySortedUses
sniff to not remove additional content between use statements.
-
#35 adds
PHP\StaticCallback
sniff which detects closures and check if these can be marked as static -
#36 adds
PHP\DisallowCurlyOffsetAccessBrace
sniff which detects array and string offset access using curly brackets. This functionality is deprecated as of PHP 7.4 so sniff can be useful when providing compatibility with PHP 7.4. -
#38 adds
ControlStructures\RedundantCase
sniff which detects redundant cases within a switch control structure -
#41 adds
ControlStructures\DefaultAsLast
sniff which requiresdefault
case to be last case in a switch control structure -
#39 adds
Arrays\DuplicateKey
sniff which detects duplicated keys in arrays -
#42 adds requiring camelCase names for class members and variables used in strings - extended sniff
NamingConventions\ValidVariableName
. Disallowed are two capital letters next to each other (strict mode). -
#60 extends
Classes\TraitUsage
sniff to check if traits declarations are on the top of the class. Traits must be specified before constants, properties and methods. -
#45 adds
Classes\ConstBeforeProperty
sniff to require constant definitions in classes and interfaces before properties and methods -
#46 adds
Classes\PropertyBeforeMethod
sniff to require property definitions in classes before methods -
#47 adds
Commenting\TagName
sniff which checks if PHPDoc tags have additional characters at the end of the name. By default:
and;
are disallowed and removed by fixer, but the list of disallowed characters can be configured by optiondisallowedEndChars
-
#48 adds configuration option
nullPosition
toCommenting\TagWithType
sniff. Default value isfirst
to keep backward compatibility. The other allowed value islast
so thennull
values in type list is at the last position. -
#49 adds
Commenting\DisallowEmptyComment
sniff to detect empty comments and multiple empty lines in comments -
#50 adds check for open and close of doc block comment in
Commenting\DocComment
. Only short version is allowed:/**
and*/
. Additional asterisk are disallowed. -
#51 adds check for blank lines and comments before arrow in arrays in
Array\Format
sniff. Arrow must be after the index value, can be in new line, but any additional lines or comments are disallowed. -
#54 adds
Namespaces\UniqueImport
sniff to detect if class/function/constant is imported only once. Sniff checks also if the name is used only once. The same name can be used for class/function/constant, and constant names are case sensitive. -
#37 adds additional sniffs to
WebimpressCodingStandard
ruleset:Generic.ControlStructures.DisallowYodaConditions
,Squiz.Operators.IncrementDecrementUsage
,Squiz.PHP.DisallowMultipleAssignments
(withSquiz.PHP.DisallowMultipleAssignments.FoundInControlStructure
exclusion).
-
#59 extends
Commenting\DocComment
sniff to check if every line of DocBlock comment starts with*
-
#53 adds support for use groups in
Namespaces\UnusedUseStatement
sniff -
#58 adds property type declaration (PHP 7.4+). The following sniffs are affected:
Commenting\PropertyAnnotation
- ensure that type is skipped when detecting the comment before property,Commenting\VariableComment
- add multiple checks to ensure type declaration is consistent with type provided in PHPDoc (@var
tag). In case type declaration is provided and PHPDoc does not contain any additional information,@var
tag can be omitted.
-
#62 adds support for
Iterator
type inFunctions\Param
andFunctions\ReturnType
sniffs -
#62 adds check for return type of function with
yield
. Generators may only declare a return type ofGenerator
,Iterator
,Traversable
oriterable
. -
#63 adds ability to align array arrows when in new line. To use it, there is an example configuration:
// configuration of double arrow alignment WebimpressCodingStandard.Arrays.DoubleArrow.maxPadding = 50 WebimpressCodingStandard.Arrays.DoubleArrow.ignoreNewLineArrayArrow = false // ignore indent or double arrow when at the beggining of the line WebimpressCodingStandard.WhiteSpace.ScopeIndent.ignoreNewLineArrayArrow = true // ignore spacing before double arrow (so we can have more than one space) WebimpressCodingStandard.WhiteSpace.OperatorAndKeywordSpacing.ignoreSpacingBeforeAssignments = true
-
#67 adds support for PHP 7.4 arrow functions.
-
#42 changes
NamingConventions\ValidVariableName
to require variable names be in strict camelCase. It means two capital letters next to each other are not allowed. -
#44 changes
PSR1.Methods.CamelCapsMethodName
withGeneric.NamingConventions.CamelCapsFunctionName
so from now method names must be in strict camelCas. It means two capital letters next to each other are not allowed. -
#37 updates the
squizlabs/php_codesniffer
dependency to^3.5.2
-
#61 replaces
Squiz.WhiteSpace.OperatorSpacing
withWebimpressCodingStandard.WhiteSpace.OperatorAndKeywordSpacing
sniff. This sniff still extendsSquiz.WhiteSpace.OperatorSpacing
but check additional tokens:as
andinsteadof
and Logical Operators. It also disallows mor then one empty line before operators, and foras
,insteadof
, andinstanceof
requires single space before and after.
- Nothing.
- #42 excludes
PSR2.Classes.PropertyDeclaration.Underscore
check, as it is now covered byNamingConventions\ValidVariableName
sniff
-
#51 fixes multiple cases when empty line before comment in array was not allowed
-
#53 reworks implementation of
Namespaces\UnusedUseStatement
sniff which solves numerous issues with detecting if class/function/constant is used within the file
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
#43 fixes
WhiteSpace\ScopeIndent
sniff - case with object calls within ternary operator -
#40 fixes
PHP\RedundantSemicolon
sniff to remove redundant semicolon after colon and goto label -
#55 fixes
Namespaces\AlphabeticallySortedUses
sniff to work with files without namespaces -
#56 fixes Annotations sniffs for specific cases:
Commenting\ClassAnnotation
sniff -final
classes.Commenting\MethodAnnotation
sniff -final
methods.Commenting\PropertyAnnotation
sniff - properties defined withvar
.
-
#57 fixes parsing content of
@param
and@var
tags with multiple spaces before variable name. Affects the following sniffs:Commenting\TagWithType
,Functions\Param
.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #34 fixes removing unused imports in files without namespaces
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
#30
Functions\Param
- fixes duplicated error and fixer conflict -
#31
WhiteSpace\BraceBlankLine
- fixes fixer conflict with empty structures -
#33 fixes sorting issue of imported class and traits usage. Fixes the following sniffs:
Classes\AlphabeticallySortedTraits
Namespaces\AlphabeticallySortedUses
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
#15
PHP\DisallowFqn
- fixes importing FQN -
#16
WhiteSpace\ScopeIndent
- fixes code fixer for the case when boolean operator is at the end of the line -
#17 fixes recognising types in
@method
PHPDoc tag. Fixes the following sniffs:Namespaces\UnusedUseStatement
- imported classes/interfaces are not removed when used within the tag,PHP\CorrectClassNameCase
- fixes caps in class/interface names used within the tag,PHP\DisallowFqn
- imports FQN used within the tag.
-
#18
Commenting\DocComment
- fixes requiring content straight after doc-block - allows empty line when next content is another doc-block -
#19
Commenting\DocComment
- fixes issue with doc-block after colon (for example in switch statement) - empty line is no longer required before doc-block in that case -
#20
Functions\ReturnType
- fixes false-positive error when function may return$this
-
#21 fixes regular expression to check class name (type). Fixes the following sniffs:
Commenting\TagWithType
- types in doc-block comments,Functions\Param
- param typehint and type within@param
tag,Functions\ReturnType
- return type declaration and type within@return
tag.
-
#22 fixes recognising parameter types and return type declaration with PHPDocs tags. Affects the following sniffs:
Functions\Param
- param typehint and type within@param
tag,Functions\ReturnType
- return type declaration and type within@return
tag.
-
#23
Functions\ReturnType
- fixes recognising yoda comparison in return statement and type of returned value -
#24 fixes error in fixer when recognised type was invalid. Affects the following sniffs:
PHP\CorrectClassNameCase
PHP\DisallowFqn
-
#25 fixes type suggestions, allows
self
andparent
to be used as specification for complex types (likeobject
or class/interface) -
#26
Commenting\DocComment
fixes indents detection before closing brackets in doc-block comments -
#27
Commenting\TagWithType
fixes ordering types in PHPDoc tags -
#28
WhiteSpace\ScopeIndent
fixes false-positive
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #14
Formatting\StringClassReference
- fixes regular expression to check if string is valid FQCN
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
#5
Methods\LineAfterSniff
- fixes adding empty line after method when next content is doc-block -
#6
Commenting\Placement
- fixes false-positive when space was required before comment in next line after PHP open tag -
#7
Commenting\DocComment
- fixes false-positive when new line was required before doc-block -
#8
Formatting\StringClassReference
- fixes checking if string is a valid class name before check if class/interface/trait exists -
#9
PHP\DisallowFqn
- fixes conflict withNamespaces\UnusedUseStatement
when newly added import was deleted straight away -
#10
PHP\DisallowFqn
- fixes issue when backslash was removed from the beginning of the class name but there was no space before -
#11
Arrays\Format
- fixes issue with doc-block in arrays -
#12
Formatting\RedundantParentheses
- fixes false-positive for invokable classes treated as single expression -
#13
Namespaces\UnusedUseStatement
- fixes recognising classes in doc-block annotations
Initial release.
- Everything.
- Nothing.
- Nothing.
- Nothing.
- Nothing.