function ForbiddenPublicPropertySniff::process
* @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint *
Parameters
int $variablePointer:
Overrides Sniff::process
File
-
vendor/
slevomat/ coding-standard/ SlevomatCodingStandard/ Sniffs/ Classes/ ForbiddenPublicPropertySniff.php, line 38
Class
Namespace
SlevomatCodingStandard\Sniffs\ClassesCode
public function process(File $file, $variablePointer) : void {
if (!PropertyHelper::isProperty($file, $variablePointer, $this->checkPromoted)) {
return;
}
// skip Sniff classes, they have public properties for configuration (unfortunately)
if ($this->isSniffClass($file, $variablePointer)) {
return;
}
$scopeModifierToken = $this->getPropertyScopeModifier($file, $variablePointer);
if ($scopeModifierToken['code'] === T_PROTECTED || $scopeModifierToken['code'] === T_PRIVATE) {
return;
}
$errorMessage = 'Do not use public properties. Use method access instead.';
$file->addError($errorMessage, $variablePointer, self::CODE_FORBIDDEN_PUBLIC_PROPERTY);
}