PHP_CodeSniffer_Sniff
in
Represents a PHP_CodeSniffer sniff for sniffing coding standards.
A sniff registers what token types it wishes to listen for, then, when PHP_CodeSniffer encounters that token, the sniff is invoked and passed information about where the token was found in the stack, and the PHP_CodeSniffer file in which the token was found.
Tags
Table of Contents
- process() : void|int
- Called when one of the token types that this sniff is listening for is found.
- register() : array<string|int, int>
- Registers the tokens that this sniff wants to listen for.
Methods
process()
Called when one of the token types that this sniff is listening for is found.
public
process(PHP_CodeSniffer_File $phpcsFile, int $stackPtr) : void|int
The stackPtr variable indicates where in the stack the token was found. A sniff can acquire information this token, along with all the other tokens within the stack by first acquiring the token stack:
$tokens = $phpcsFile->getTokens();
echo 'Encountered a '.$tokens[$stackPtr]['type'].' token';
echo 'token information: ';
print_r($tokens[$stackPtr]);
If the sniff discovers an anomaly in the code, they can raise an error by calling addError() on the PHP_CodeSniffer_File object, specifying an error message and the position of the offending token:
$phpcsFile->addError('Encountered an error', $stackPtr);
Parameters
- $phpcsFile : PHP_CodeSniffer_File
-
The PHP_CodeSniffer file where the token was found.
- $stackPtr : int
-
The position in the PHP_CodeSniffer file's token stack where the token was found.
Return values
void|int —Optionally returns a stack pointer. The sniff will not be called again on the current file until the returned stack pointer is reached. Return (count($tokens) + 1) to skip the rest of the file.
register()
Registers the tokens that this sniff wants to listen for.
public
register() : array<string|int, int>
An example return value for a sniff that wants to listen for whitespace and any comments would be:
return array(
T_WHITESPACE,
T_DOC_COMMENT,
T_COMMENT,
);