如何在使用声明中检测不存在的类

问题描述 投票:0回答:1

如何检测到类NonExistingClass不存在?

我目前正在检查PhpStan,Phan,Composer的功能,但到目前为止没有。

开发人员删除了在类NonExistingClass中调用A的代码并删除了整个类NonExistingClass,但没有删除类A中的use语句:

<?php

namespace App\Service;

use App\Model\NonExistingClass;

class A
{
}

如何在静态分析过程中检测到这种情况?

php static-analysis
1个回答
0
投票

您无法检测到use语句中不存在的类,因为它可能是名称空间。

您可以做的是检测文件中未使用的使用,这在您的代码示例中实际上就是这种情况。在SlevomatCodingStandard.Namespaces.UnusedUses中检出PHP_CodeSniffer的slevomat/coding-standard嗅探。

如果文件中实际使用了use语句中不存在的类,PHPStan会告诉您。在此处查看示例:https://phpstan.org/r/1f05520e-88fe-4a61-9d05-018b466e640d

© www.soinside.com 2019 - 2024. All rights reserved.