DeprecatedFunctionsSniff.php
Namespace
PHP_CodeSniffer\Standards\Generic\Sniffs\PHPFile
-
vendor/
squizlabs/ php_codesniffer/ src/ Standards/ Generic/ Sniffs/ PHP/ DeprecatedFunctionsSniff.php
View source
<?php
/**
* Discourages the use of deprecated PHP functions.
*
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
* @author Greg Sherwood <gsherwood@squiz.net>
* @copyright 2006-2015 Squiz Pty Ltd (ABN 77 084 670 600)
* @license https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
*/
namespace PHP_CodeSniffer\Standards\Generic\Sniffs\PHP;
use ReflectionFunction;
class DeprecatedFunctionsSniff extends ForbiddenFunctionsSniff {
/**
* A list of forbidden functions with their alternatives.
*
* The value is NULL if no alternative exists. IE, the
* function should just not be used.
*
* @var array<string, string|null>
*/
public $forbiddenFunctions = [];
/**
* Constructor.
*
* Uses the Reflection API to get a list of deprecated functions.
*/
public function __construct() {
$functions = get_defined_functions();
foreach ($functions['internal'] as $functionName) {
$function = new ReflectionFunction($functionName);
if ($function->isDeprecated() === true) {
$this->forbiddenFunctions[$functionName] = null;
}
}
}
//end __construct()
/**
* Generates the error or warning for this sniff.
*
* @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
* @param int $stackPtr The position of the forbidden function
* in the token array.
* @param string $function The name of the forbidden function.
* @param string $pattern The pattern used for the match.
*
* @return void
*/
protected function addError($phpcsFile, $stackPtr, $function, $pattern = null) {
$data = [
$function,
];
$error = 'Function %s() has been deprecated';
$type = 'Deprecated';
if ($this->error === true) {
$phpcsFile->addError($error, $stackPtr, $type, $data);
}
else {
$phpcsFile->addWarning($error, $stackPtr, $type, $data);
}
}
//end addError()
}
//end class
Classes
Title | Deprecated | Summary |
---|---|---|
DeprecatedFunctionsSniff |