Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. DisallowSuperGlobalVariableSniff.php

class DisallowSuperGlobalVariableSniff

Hierarchy

  • class \SlevomatCodingStandard\Sniffs\Variables\DisallowSuperGlobalVariableSniff implements \PHP_CodeSniffer\Sniffs\Sniff

Expanded class hierarchy of DisallowSuperGlobalVariableSniff

File

vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Variables/DisallowSuperGlobalVariableSniff.php, line 10

Namespace

SlevomatCodingStandard\Sniffs\Variables
View source
class DisallowSuperGlobalVariableSniff implements Sniff {
    public const CODE_DISALLOWED_SUPER_GLOBAL_VARIABLE = 'DisallowedSuperGlobalVariable';
    private const SUPER_GLOBALS = [
        '$GLOBALS',
        '$_SERVER',
        '$_GET',
        '$_POST',
        '$_FILES',
        '$_COOKIE',
        '$_SESSION',
        '$_REQUEST',
        '$_ENV',
    ];
    
    /**
     * @return array<int, (int|string)>
     */
    public function register() : array {
        return [
            T_VARIABLE,
        ];
    }
    
    /**
     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     * @param int $variablePointer
     */
    public function process(File $phpcsFile, $variablePointer) : void {
        $tokens = $phpcsFile->getTokens();
        if (!in_array($tokens[$variablePointer]['content'], self::SUPER_GLOBALS, true)) {
            return;
        }
        $phpcsFile->addError('Use of super global variable is disallowed.', $variablePointer, self::CODE_DISALLOWED_SUPER_GLOBAL_VARIABLE);
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title
DisallowSuperGlobalVariableSniff::CODE_DISALLOWED_SUPER_GLOBAL_VARIABLE public constant
DisallowSuperGlobalVariableSniff::process public function * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
*
Overrides Sniff::process
DisallowSuperGlobalVariableSniff::register public function * Overrides Sniff::register
DisallowSuperGlobalVariableSniff::SUPER_GLOBALS private constant
RSS feed
Powered by Drupal