3.7.0
版本发布时间: 2022-06-13 14:48:18
squizlabs/PHP_CodeSniffer最新发布版本:3.7.2(2023-02-23 07:13:42)
PHP 8.1 Language Feature Support
PHP_CodeSniffer has run correctly under PHP 8.1 since PHP 8 support was added, but it has not supported new 8.1 language features until this release. Version 3.7.0 adds support for the following PHP 8.1 language features:
- Enums
- Explicit octal notation
- Readonly properties
- Intersection types
- The
never
type
Note: Standards and sniffs included with PHP_CodeSniffer have been updated to support these language features, but external standards and sniffs may need updating before they are able to detect them correctly.
Changelog
- Added support for PHP 8.1 explicit octal notation
- This new syntax has been backfilled for PHP versions less than 8.1
- Thanks to Mark Baker (@MarkBaker) for the patch
- Thanks to Juliette Reinders Folmer (@jrfnl) for additional fixes
- Added support for PHP 8.1 enums
- This new syntax has been backfilled for PHP versions less than 8.1
- Includes a new
T_ENUM_CASE
token to represent the case statements inside an enum - Thanks to Jaroslav Hanslík (@kukulich) for the patch
- Thanks to Juliette Reinders Folmer (@jrfnl) for additional core and sniff support
- Added support for the PHP 8.1 readonly token
- Tokenzing of the readonly keyword has been backfilled for PHP versions less than 8.1
- Thanks to Jaroslav Hanslík (@kukulich) for the patch
- Added support for PHP 8.1 intersection types
- Includes a new
T_TYPE_INTERSECTION
token to represent the ampersand character inside intersection types - Thanks to Jaroslav Hanslík (@kukulich) for the patch
- Includes a new
-
File::getMethodParameters
now supports the new PHP 8.1 readonly token- When constructor property promotion is used, a new
property_readonly
array index is included in the return value- This is a boolean value indicating if the property is readonly
- If the readonly token is detected, a new
readonly_token
array index is included in the return value- This contains the token index of the readonly keyword
- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
- When constructor property promotion is used, a new
- Support for new PHP 8.1 readonly keyword has been added to the following sniffs:
-
Generic.PHP.LowerCaseKeyword
-
PSR2.Classes.PropertyDeclaration
-
Squiz.Commenting.BlockComment
-
Squiz.Commenting.DocCommentAlignment
-
Squiz.Commenting.VariableComment
-
Squiz.WhiteSpace.ScopeKeywordSpacing
- Thanks to Juliette Reinders Folmer (@jrfnl) for the patches
-
- The parallel feature is now more efficient and runs faster in some situations due to improved process management
- Thanks to Sergei Morozov (@morozov) for the patch
- The list of installed coding standards now has consistent ordering across all platforms
- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
-
Generic.PHP.UpperCaseConstant
andGeneric.PHP.LowerCaseConstant
now ignore type declarations- These sniffs now only report errors for
true
/false
/null
when used as values - Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
- These sniffs now only report errors for
-
Generic.PHP.LowerCaseType
now supports the PHP 8.1never
type- Thanks to Jaroslav Hanslík (@kukulich) for the patch
- Fixed bug #3502 : A match statement within an array produces Squiz.Arrays.ArrayDeclaration.NoKeySpecified
- Fixed bug #3503 : Squiz.Commenting.FunctionComment.ThrowsNoFullStop false positive when one line
@throw
- Fixed bug #3505 : The nullsafe operator is not counted in Generic.Metrics.CyclomaticComplexity
- Thanks to Mark Baker (@MarkBaker) for the patch
- Fixed bug #3526 : PSR12.Properties.ConstantVisibility false positive when using public final const syntax
- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
- Fixed bug #3530 : Line indented incorrectly false positive when using match-expression inside switch case
- Fixed bug #3534 : Name of typed enum tokenized as
T_GOTO_LABEL
- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
- Fixed bug #3546 : Tokenizer/PHP: bug fix - parent/static keywords in class instantiations
- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
- Fixed bug #3550 : False positive from PSR2.ControlStructures.SwitchDeclaration.TerminatingComment when using trailing comment
- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
- Fixed bug #3575: Squiz.Scope.MethodScope misses visibility keyword on previous line
- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
- Fixed bug #3604: Tokenizer/PHP: bug fix for double quoted strings using
${
- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
1、 phpcbf.phar 1.33MB
2、 phpcbf.phar.asc 587B
3、 phpcs.phar 1.33MB
4、 phpcs.phar.asc 587B