PHP/CodeSniffer/Graze/Sniffs/Files/DoubleBlankLineSniff.php
public function process(File $phpcsFile, $stackPtr)
    {
        $tokens = $phpcsFile->getTokens();

        for ($i = 1; $i < $phpcsFile->numTokens; $i++) {
            if ($tokens[$i]['column'] === 1 && $tokens[$i]['length'] === 0) {
                $currentLineNumber = $tokens[$i]['line'];
                $nextWhitespace = $phpcsFile->findNext(T_WHITESPACE, $stackPtr);
                $nextWhitespace = $tokens[$nextWhitespace];
                if ($nextWhitespace['column'] === 1 && $nextWhitespace['length'] === 0 && $nextWhitespace['line'] - $currentLineNumber === 1) {
                    // double blank line
                    $phpcsFile->addError('Multiple blank lines detected', $stackPtr, static::ERROR_CODE);
                }
            }
        }
    }
public function process(File $phpcsFile, $stackPtr)
    {
        $tokens = $phpcsFile->getTokens();

        for ($i = 1; $i < $phpcsFile->numTokens; $i++) {
            if ($tokens[$i]['column'] === 1 && $tokens[$i]['length'] === 0) {
                $currentLineNumber = $tokens[$i]['line'];
                $nextWhitespace = $phpcsFile->findNext(T_WHITESPACE, $stackPtr);
                $nextWhitespace = $tokens[$nextWhitespace];
                if ($nextWhitespace['column'] === 1 && $nextWhitespace['length'] === 0 && $nextWhitespace['line'] - $currentLineNumber === 1) {
                    // double blank line
                    $phpcsFile->addError('Multiple blank lines detected', $stackPtr, static::ERROR_CODE);
                }
            }
        }
    }
public function process ( File $ phpcsFile , $ stackPtr ) { $ tokens = $ phpcsFile -> getTokens ( ) ; for ( $ i = 1 ; $ i < $ phpcsFile -> numTokens ; $ i ++ ) { if ( $ tokens [ $ i ] [ 'column' ] === 1 && $ tokens [ $ i ] [ 'length' ] === 0 ) { $ currentLineNumber = $ tokens [ $ i ] [ 'line' ] ; $ nextWhitespace = $ phpcsFile -> findNext ( T_WHITESPACE , $ stackPtr ) ; $ nextWhitespace = $ tokens [ $ nextWhitespace ] ; if ( $ nextWhitespace [ 'column' ] === 1 && $ nextWhitespace [ 'length' ] === 0 && $ nextWhitespace [ 'line' ] - $ currentLineNumber === 1 ) { // double blank line $ phpcsFile -> addError ( 'Multiple blank lines detected' , $ stackPtr , static :: ERROR_CODE ) ; } } } }
Called when one of the token types that this sniff is listening for
is found.

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:

<code>
$tokens = $phpcsFile->getTokens();
echo 'Encountered a '.$tokens[$stackPtr]['type'].' token';
echo 'token information: ';
print_r($tokens[$stackPtr]);
</code>

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:

<code>
$phpcsFile->addError('Encountered an error', $stackPtr);
</code>

@param File $phpcsFile The PHP_CodeSniffer file where the
token was found.
@param int $stackPtr The position in the PHP_CodeSniffer
file's token stack where the token
was found.

@return 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.
Called when one of the token types that this sniff is listening for is found .