假设我有这些课程:
Old_Class
New_Class
如果存在->something(new Old_Class())
或Old_Class::staticMethod()
或$oldClass->methodCall()
,我希望代码嗅探警告“发现Old_Class用法,建议改用New_Class”。
我发现了这个嗅探Generic.PHP.ForbiddenFunctions
,但似乎只捕获了内置的php函数is_array, is_null, etc
。
我需要为此编写自定义嗅探吗?
如果是的话,我应该在token
函数中添加什么register()
来流行?
答案 0 :(得分:0)
我无法使用内置的。我不得不用T_STRING来写一个。
public function register()
{
return [
T_STRING,
];
}
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
if ($tokens[$stackPtr]['content'] === 'Old_Class') {
$error = 'Old_Class usage found, consider using New_Class instead.';
$phpcsFile->addWarning($error, $stackPtr);
}
}