Documentation

PHP_CodeSniffer_Standards_AbstractScopeSniff
in package
implements PHP_CodeSniffer_Sniff

An AbstractScopeTest allows for tests that extend from this class to listen for tokens within a particular scope.

Below is a test that listens to methods that exist only within classes: class ClassScopeTest extends PHP_CodeSniffer_Standards_AbstractScopeSniff { public function __construct() { parent::__construct(array(T_CLASS), array(T_FUNCTION)); }

protected function processTokenWithinScope(PHP_CodeSniffer_File $phpcsFile, $)
{
    $className = $phpcsFile->getDeclarationName($currScope);
    echo 'encountered a method within class '.$className;
}

}

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

Interfaces, Classes and Traits

PHP_CodeSniffer_Sniff
Represents a PHP_CodeSniffer sniff for sniffing coding standards.

Table of Contents

$_listenOutside  : bool
True if this test should fire on tokens outside of the scope.
$_scopeTokens  : string
The type of scope opener tokens that this test wishes to listen to.
$_tokens  : array<string|int, mixed>
The token types that this test wishes to listen to within the scope.
__construct()  : mixed
Constructs a new AbstractScopeTest.
process()  : void
Processes the tokens that this test is listening for.
register()  : array<string|int, int>
The method that is called to register the tokens this test wishes to listen to.
processTokenOutsideScope()  : void
Processes a token that is found outside the scope that this test is listening to.
processTokenWithinScope()  : void
Processes a token that is found within the scope that this test is listening to.

Properties

$_listenOutside

True if this test should fire on tokens outside of the scope.

private bool $_listenOutside = alse

$_scopeTokens

The type of scope opener tokens that this test wishes to listen to.

private string $_scopeTokens = array()

$_tokens

The token types that this test wishes to listen to within the scope.

private array<string|int, mixed> $_tokens = array()

Methods

__construct()

Constructs a new AbstractScopeTest.

public __construct(array<string|int, mixed> $scopeTokens, array<string|int, mixed> $tokens[, bool $listenOutside = false ]) : mixed
Parameters
$scopeTokens : array<string|int, mixed>

The type of scope the test wishes to listen to.

$tokens : array<string|int, mixed>

The tokens that the test wishes to listen to within the scope.

$listenOutside : bool = false

If true this test will also alert the extending class when a token is found outside the scope, by calling the processTokenOutsideScope method.

Tags
see

PHP_CodeSniffer.getValidScopeTokeners()

throws
PHP_CodeSniffer_Exception

If the specified tokens array is empty.

Return values
mixed

process()

Processes the tokens that this test is listening for.

public final process(PHP_CodeSniffer_File $phpcsFile, int $stackPtr) : void
Parameters
$phpcsFile : PHP_CodeSniffer_File

The file where this token was found.

$stackPtr : int

The position in the stack where this token was found.

Tags
see
processTokenWithinScope()
Return values
void

register()

The method that is called to register the tokens this test wishes to listen to.

public final register() : array<string|int, int>

DO NOT OVERRIDE THIS METHOD. Use the constructor of this class to register for the desired tokens and scope.

Tags
see
__constructor()
Return values
array<string|int, int>

processTokenOutsideScope()

Processes a token that is found outside the scope that this test is listening to.

protected processTokenOutsideScope(PHP_CodeSniffer_File $phpcsFile, int $stackPtr) : void
Parameters
$phpcsFile : PHP_CodeSniffer_File

The file where this token was found.

$stackPtr : int

The position in the stack where this token was found.

Return values
void

processTokenWithinScope()

Processes a token that is found within the scope that this test is listening to.

protected abstract processTokenWithinScope(PHP_CodeSniffer_File $phpcsFile, int $stackPtr, int $currScope) : void
Parameters
$phpcsFile : PHP_CodeSniffer_File

The file where this token was found.

$stackPtr : int

The position in the stack where this token was found.

$currScope : int

The position in the tokens array that opened the scope that this test is listening for.

Return values
void

Search results