Viewing file: DeprecatedFunctionsSniff.php (2.79 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /** * Generic_Sniffs_PHP_DeprecatedFunctionsSniff. * * PHP version 5 * * @category PHP * @package PHP_CodeSniffer * @author Greg Sherwood <gsherwood@squiz.net> * @author Marc McIntyre <mmcintyre@squiz.net> * @copyright 2006-2011 Squiz Pty Ltd (ABN 77 084 670 600) * @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence * @link http://pear.php.net/package/PHP_CodeSniffer */
/** * Generic_Sniffs_PHP_DeprecatedFunctionsSniff. * * Discourages the use of deprecated functions that are kept in PHP for * compatibility with older versions. * * @category PHP * @package PHP_CodeSniffer * @author Sebastian Bergmann <sb@sebastian-bergmann.de> * @author Greg Sherwood <gsherwood@squiz.net> * @author Marc McIntyre <mmcintyre@squiz.net> * @copyright 2006-2011 Squiz Pty Ltd (ABN 77 084 670 600) * @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence * @version Release: 1.3.3 * @link http://pear.php.net/package/PHP_CodeSniffer */ class Generic_Sniffs_PHP_DeprecatedFunctionsSniff extends Generic_Sniffs_PHP_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) */ protected $forbiddenFunctions = array();
/** * 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 wanrning for this sniff. * * @param PHP_CodeSniffer_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 = array($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
?>
|