不鼓励的类用法PHPCS

时间:2020-02-03 19:11:46

标签: codesniffer phpcs phpcodesniffer

假设我有这些课程:

  • 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()来流行?

1 个答案:

答案 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);
    }
}
相关问题