我如何使用 PhpStorm 在 Symfony 项目中找到未使用的库?
How can I find unused libraries in a Symfony project with PhpStorm?
我尝试查找并删除项目中所有未使用的库。例如,我有一个文件夹 lib/
,其中包含许多其他文件夹,这些文件夹是著名的库。我想知道如何识别未使用的库。
我问了同样的问题here但是我收到的唯一回复建议我一个一个地检查每个文件...
你能帮帮我吗?
我认为这是不可能的,因为某些库可能会延迟加载,具体取决于应用程序的某些内部状态。
因此,即使您能以某种方式找到所有 强类型引用 检查代码,您也无法确定库是否通过魔术方法加载,自定义 class 加载程序、动态生成的 include
或 require
语句、eval
编辑代码等。
如果您的 非库代码 没有覆盖率超过 95% 的测试,从您的 lib 文件夹中删除任何内容都是非常危险的。您的代码可能看起来 运行 很好,但在某些极端情况下仍然会失败。
有一个开源项目可以帮助您做到这一点:
https://github.com/composer-unused/composer-unused
安装
composer require composer-unused/composer-unused-plugin
用法
composer unused
如果你想在 phpstorm 中使用它,你可以查看他们的 composer 文档:https://www.jetbrains.com/help/phpstorm/using-the-composer-dependency-manager.html#create-and-run-composer-scripts
我尝试查找并删除项目中所有未使用的库。例如,我有一个文件夹 lib/
,其中包含许多其他文件夹,这些文件夹是著名的库。我想知道如何识别未使用的库。
我问了同样的问题here但是我收到的唯一回复建议我一个一个地检查每个文件...
你能帮帮我吗?
我认为这是不可能的,因为某些库可能会延迟加载,具体取决于应用程序的某些内部状态。
因此,即使您能以某种方式找到所有 强类型引用 检查代码,您也无法确定库是否通过魔术方法加载,自定义 class 加载程序、动态生成的 include
或 require
语句、eval
编辑代码等。
如果您的 非库代码 没有覆盖率超过 95% 的测试,从您的 lib 文件夹中删除任何内容都是非常危险的。您的代码可能看起来 运行 很好,但在某些极端情况下仍然会失败。
有一个开源项目可以帮助您做到这一点: https://github.com/composer-unused/composer-unused
安装
composer require composer-unused/composer-unused-plugin
用法
composer unused
如果你想在 phpstorm 中使用它,你可以查看他们的 composer 文档:https://www.jetbrains.com/help/phpstorm/using-the-composer-dependency-manager.html#create-and-run-composer-scripts