Не рекомендуется использовать класс PHPCS - PullRequest
0 голосов
/ 03 февраля 2020

Допустим, у меня есть эти классы:

  • 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 голосов
/ 03 февраля 2020

Я не мог использовать встроенный. Я должен был написать один, используя 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);
    }
}
...