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