如何检测 use 语句中不存在的 class
How to detect non existing class in use statement
如何检测 class NonExistingClass
不存在?
我目前正在检查 PhpStan、Phan、Composer 的功能,但目前还没有。
开发人员删除了 class A
中调用 NonExistingClass
的代码并删除了整个 class NonExistingClass
但没有删除 [=25] 中的 use 语句=] A
:
<?php
namespace App\Service;
use App\Model\NonExistingClass;
class A
{
}
如何在静态分析中检测到这种情况?
您无法在 use
语句中检测到不存在的 class,因为它可能是一个命名空间。
您可以做的是检测文件中未使用的用途,这在您的代码示例中就是这种情况。查看 SlevomatCodingStandard.Namespaces.UnusedUses
在 slevomat/coding-standard 中嗅探 PHP_CodeSniffer。
如果 use
语句中不存在的 class 在文件中实际使用,PHPStan 会告诉您。请在此处查看示例:https://phpstan.org/r/1f05520e-88fe-4a61-9d05-018b466e640d
如何检测 class NonExistingClass
不存在?
我目前正在检查 PhpStan、Phan、Composer 的功能,但目前还没有。
开发人员删除了 class A
中调用 NonExistingClass
的代码并删除了整个 class NonExistingClass
但没有删除 [=25] 中的 use 语句=] A
:
<?php
namespace App\Service;
use App\Model\NonExistingClass;
class A
{
}
如何在静态分析中检测到这种情况?
您无法在 use
语句中检测到不存在的 class,因为它可能是一个命名空间。
您可以做的是检测文件中未使用的用途,这在您的代码示例中就是这种情况。查看 SlevomatCodingStandard.Namespaces.UnusedUses
在 slevomat/coding-standard 中嗅探 PHP_CodeSniffer。
如果 use
语句中不存在的 class 在文件中实际使用,PHPStan 会告诉您。请在此处查看示例:https://phpstan.org/r/1f05520e-88fe-4a61-9d05-018b466e640d