气馁 Class 使用 PHPCS
Discouraged Class Usage PHPCS
假设我有这些 类:
Old_Class
New_Class
如果存在 ->something(new Old_Class())
或 Old_Class::staticMethod()
或 $oldClass->methodCall()
我想要一个代码嗅探来警告 "Old_Class usage found, recommend using New_Class instead"。
我发现了这个 sniff Generic.PHP.ForbiddenFunctions
,但它似乎只能捕获内置 php 函数 is_array, is_null, etc
。
我需要为此编写自定义嗅探吗?
如果是这样,我应该在 register()
函数中添加什么 token
才能流行起来?
我无法使用内置的。我不得不用 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);
}
}
假设我有这些 类:
Old_Class
New_Class
如果存在 ->something(new Old_Class())
或 Old_Class::staticMethod()
或 $oldClass->methodCall()
我想要一个代码嗅探来警告 "Old_Class usage found, recommend using New_Class instead"。
我发现了这个 sniff Generic.PHP.ForbiddenFunctions
,但它似乎只能捕获内置 php 函数 is_array, is_null, etc
。
我需要为此编写自定义嗅探吗?
如果是这样,我应该在 register()
函数中添加什么 token
才能流行起来?
我无法使用内置的。我不得不用 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);
}
}