Documentation

PHP_CodeSniffer_Sniff

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
category

PHP

author

Greg Sherwood gsherwood@squiz.net

author

Marc McIntyre mmcintyre@squiz.net

copyright

2006-2014 Squiz Pty Ltd (ABN 77 084 670 600)

license

https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence

version

Release: @package_version@

link
http://pear.php.net/package/PHP_CodeSniffer

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, );
Tags
see

Tokens.php

Return values
array<string|int, int>

Search results