1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
<?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
?>
|