From 470f7b5429b4adc94b7a4f85551f17ca26b3a333 Mon Sep 17 00:00:00 2001 From: jrfnl Date: Sun, 23 Dec 2018 03:37:29 +0100 Subject: [PATCH] Extra: Replace `Squiz.Scope.MemberVarScope` with `PSR2.Classes.PropertyDeclaration` PR 1103 added the `Squiz.Scope.MemberVarScope` sniff to the `WordPress-Extra` ruleset which checks that all class properties have their visibility declared. The upstream `PSR2.Classes.PropertyDeclaration` sniff also does this, however it contains more extensive checks. In addition to checking for the visibility of properties being declared, this sniff also checks: * That property names are not prefixed with an underscore `_` to indicate visibility. _For methods, we already check this in the `Extra` ruleset via the `PSR2.Methods.MethodDeclaration` sniff._ * That the `var` keyword is not used for property declarations. This could be considered a duplicate check with the "use visibility" check. * That each property declaration statement only declares one property, i.e. it forbids the use of code like this: ```php public $prop1 = true, $prop2 = '', $prop3 = 123; ``` As there is no precedent or reference to this type of property declarations in the handbook or elsewhere in the various rulesets, I'm not sure that we're ready to take a stand on this type of coding, so I've **excluded** this particular error code for now. * As of PHPCS 3.4.0: that the order of the property keywords is `visibility static`, not `static visibility` (includes fixer). _For methods, we already check this in the `Extra` ruleset via the `PSR2.Methods.MethodDeclaration` sniff._ All in all, using the `PSR2` sniff is more in line with the checks we already have in place for methods, so IMO, this seemed like a good change to make. --- WordPress-Extra/ruleset.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/WordPress-Extra/ruleset.xml b/WordPress-Extra/ruleset.xml index aee8d0c2c7..a05ddb2042 100644 --- a/WordPress-Extra/ruleset.xml +++ b/WordPress-Extra/ruleset.xml @@ -73,7 +73,9 @@ - + + +