Благодаря zerkms для указания меня в правильном направлении.
Чтобы проверить текущий Sniff, читает abstract
или final
класс, используйте следующий код:
if (in_array(
$tokens[($stackPtr - 2)]['code'],
array(T_ABSTRACT, T_FINAL)
) === true
) {
// TRUE - class is abstract or final
} else {
// FALSE - class is NOT abstract or final
}
Удаление либо T_ABSTRACT
T_FINAL
бы снять флажок для этого типа.
т.е. Без T_ABSTRACT
в приведенном выше коде, он будет возвращать FALSE для abstract
класса, и до сих пор ИСТИНА для final
класса.
Вы также будете нуждаться в этом следующий код в классе, для того, чтобы приведенный выше код для работы:
$tokens = $phpcsFile->getTokens();
Я тестировал выше код и он работает, как я описал в этом ответе.
Имея ограниченную информацию в Интернете в настоящее время для PHP_CodeSniffer, надеюсь, это поможет кому-то еще.
Не стесняйтесь предлагать изменения или редактировать этот ответ.
Если вы используете свой собственный нюх - ключевое слово 'abstract' будет находиться в потоке токенов. – zerkms
Что у вас есть? Вы внедряете свой собственный нюх? – zerkms
http://pear.php.net/manual/en/package.php.php-codesniffer.coding-standard-tutorial.php? – zerkms