/** * Processes class member variables. * * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. * @param int $stackPtr The position of the current token * in the stack passed in $tokens. * * @return void */ protected function processMemberVar(File $phpcsFile, $stackPtr) { $tokens = $phpcsFile->getTokens(); $memberProps = $phpcsFile->getMemberProperties($stackPtr); if (empty($memberProps) === true) { return; } $memberName = ltrim($tokens[$stackPtr]['content'], '$'); $scope = $memberProps['scope']; $scopeSpecified = $memberProps['scope_specified']; if ($memberProps['scope'] === 'private') { $isPublic = false; } else { $isPublic = true; } // If it's a private member, it must have an underscore on the front. if ($isPublic === false && $memberName[0] !== '_') { $error = 'Private member variable "%s" must be prefixed with an underscore'; $data = array($memberName); $phpcsFile->addError($error, $stackPtr, 'PrivateNoUnderscore', $data); return; } // If it's not a private member, it must not have an underscore on the front. if ($isPublic === true && $scopeSpecified === true && $memberName[0] === '_') { $error = '%s member variable "%s" must not be prefixed with an underscore'; $data = array(ucfirst($scope), $memberName); $phpcsFile->addError($error, $stackPtr, 'PublicUnderscore', $data); return; } }
/** * Processes class member variables. * * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. * @param int $stackPtr The position of the current token in the * stack passed in $tokens. * * @return void */ protected function processMemberVar(File $phpcsFile, $stackPtr) { $tokens = $phpcsFile->getTokens(); $varName = ltrim($tokens[$stackPtr]['content'], '$'); $memberProps = $phpcsFile->getMemberProperties($stackPtr); $public = $memberProps['scope'] === 'public'; if ($public === true) { if (substr($varName, 0, 1) === '_') { $error = 'Public member variable "%s" must not contain a leading underscore'; $data = array($varName); $phpcsFile->addError($error, $stackPtr, 'PublicHasUnderscore', $data); return; } } else { if (substr($varName, 0, 1) !== '_') { $scope = ucfirst($memberProps['scope']); $error = '%s member variable "%s" must contain a leading underscore'; $data = array($scope, $varName); $phpcsFile->addError($error, $stackPtr, 'PrivateNoUnderscore', $data); return; } } if (Common::isCamelCaps($varName, false, $public, false) === false) { $error = 'Member variable "%s" is not in valid camel caps format'; $data = array($varName); $phpcsFile->addError($error, $stackPtr, 'MemberVarNotCamelCaps', $data); } else { if (preg_match('|\\d|', $varName) === 1) { $warning = 'Member variable "%s" contains numbers but this is discouraged'; $data = array($varName); $phpcsFile->addWarning($warning, $stackPtr, 'MemberVarContainsNumbers', $data); } } }
/** * Processes class member variables. * * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. * @param int $stackPtr The position of the current token in the * stack passed in $tokens. * * @return void */ protected function processMemberVar(File $phpcsFile, $stackPtr) { $tokens = $phpcsFile->getTokens(); $varName = ltrim($tokens[$stackPtr]['content'], '$'); $memberProps = $phpcsFile->getMemberProperties($stackPtr); if (empty($memberProps) === true) { // Couldn't get any info about this variable, which // generally means it is invalid or possibly has a parse // error. Any errors will be reported by the core, so // we can ignore it. return; } $public = $memberProps['scope'] !== 'private'; $errorData = array($varName); if ($public === true) { if (substr($varName, 0, 1) === '_') { $error = '%s member variable "%s" must not contain a leading underscore'; $data = array(ucfirst($memberProps['scope']), $errorData[0]); $phpcsFile->addError($error, $stackPtr, 'PublicHasUnderscore', $data); return; } } else { if (substr($varName, 0, 1) !== '_') { $error = 'Private member variable "%s" must contain a leading underscore'; $phpcsFile->addError($error, $stackPtr, 'PrivateNoUnderscore', $errorData); return; } } if (Common::isCamelCaps($varName, false, $public, false) === false) { $error = 'Member variable "%s" is not in valid camel caps format'; $phpcsFile->addError($error, $stackPtr, 'MemberNotCamelCaps', $errorData); } }