问题标签 [phpmd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1814 浏览

php - 如何在评论中本地关闭 phpmd 规则?

如何在本地禁用单个 phpmd 规则几行,然后重新启用规则,例如unusedcode

0 投票
1 回答
1229 浏览

php - 在windows IDE中集成phpmd

我正在寻找与 Windows 上的 PHPStorm 集成的可执行 phpMD 文件。phpmd 网站上有通过 git 安装/构建的说明,但是是否有可执行的 .exe/bat 文件?

有人可以提示在哪里可以找到它吗?

谢谢

0 投票
2 回答
4280 浏览

php - PHPMD说违反单一责任原则的参数具有布尔默认值

根据phpmd 规则booleanargumentflag ,这两个 PHP 类方法违反了单一职责原则 (SRP)

应该如何编写以避免这种情况?

如果解决方案是删除默认值“= true”,那么这将如何改进代码?

0 投票
5 回答
6965 浏览

php - 为什么干净的代码禁止else表达式

我在一个函数中有这个代码:

现在 PHPmd 给出一个错误:

方法 run 使用 else 表达式。Else 从来都不是必需的,您可以简化代码以在没有 else 的情况下工作。

现在我想知道是否真的会是更好的代码来避免 else 而只是在 if 部分添加一个 return 语句?

0 投票
0 回答
650 浏览

build - Gitlab-CI 在运行测试时找不到 PHPMD

我开始尝试使用 Gitlab-CI,但在运行构建时遇到了一些问题。此时我开始使用以下命令从建筑物中运行 PHPMD.gitlab-ci.yml

所有这一切都很好,构建被解雇了。问题是构建不断失败:

这很奇怪,因为当我在命令行上运行命令时,它运行起来就像一个魅力:

/tmp/phpmd/src/bin/phpmd /tmp/phpmd/src/正文 cleancode,codesize,design

为了进一步调试,我将 PHPMD 可执行文件设置为 777(完整目录),使用sudo chmod 777 -R /tmp/phpmd. 这也反映在可执行文件上:

-rwxrwxrwx 1 根 7350 Oct 16 12:03 phpmd*

谢谢您的帮助

0 投票
1 回答
226 浏览

php - PHPMD 捕获/抑制致命错误

我正在尝试自动化我的测试。作为冒烟测试,我想在继续实际的单元测试之前用 PHPMD 检查我的 PHP 代码。听起来够明智吧?

问题是当我的 PHP 文件中出现致命错误时,PHPMD 似乎崩溃了。对于测试,我在函数定义中添加了额外的荣誉,如下所示:

如果我期望一个1退出代码,PHPMD 似乎完全崩溃,而是返回一个0退出代码。使我的自动化脚本无用。有没有办法抑制这些错误并返回预期的退出代码?对于 PHPUnit,该--process-isolation选项解决了这个问题,但我似乎无法为 PHPMD 找到这样的选项。

相关自动化测试代码

0 投票
0 回答
432 浏览

php - PHP 混乱检测器 - 当内部状态被冻结时,无法创建新节点

我想像这样运行phpmd

我收到以下错误消息,我不知道该怎么做。

0 投票
3 回答
1868 浏览

php - PhpStorm - How to detect PHP error "Non-static method should not be called statically"?

With PHP, static method can be used in both static method and non-static method, and non-static method can only used in non-static method. That's why calling a dynamic method statically generates the E_STRICT error.

For example:

The last line will generated this PHP error (it's logic): enter image description here

I am currently working on a large PHP application that calls, in some PHP files, non-static methods statically. It was not a problem with an very old version of PHP but we have decided to migrate to the latest PHP version.

Manually check all the project files to identify this bad syntax will be too long (+ 1000 files)!

The built-in code inspection features of PhpStorm doesn't detect this type of error within the analyzed source code. Why? Should I configure something? How?

Below, my PHP code inspection configuration in PhpStorm:

enter image description here

Thanks!

0 投票
1 回答
534 浏览

php - Eclipse Mars 中的 PHPMD(PHP Mess Detector)集成

在 Mars 发布之前,可以在 Eclipse 中安装 PHPMD 支持,尽管有一些警告和困难

现在 PTI 的支持似乎已被完全删除,即使PHPMD 的开发没有停止并且 PHPMD 确实提供了其他工具不提供的一些功能:例如,检测未使用的变量

对于这最后一个功能,我发现了一个不太新的 CodeSniffer 插件可以解决问题。还有一些嗅探器应该可以完成工作,但它们似乎对我不起作用,或者至少在所有情况下都不起作用:我有一个需要重构的项目,我有来自 CodeSniffer 的 11 个警告和来自 CodeSniffer 的 2524 个警告PHPMD。

我想我有一种简单而不优雅的方式来重新插入 PHPMD,但在这样做之前我想知道是否有人有这个特定的相同问题/需求,以及他/她是否设法以某种方式解决它。

0 投票
1 回答
948 浏览

linux - PHPMD不输出文件结果

我被要求在工作中实现 PHPMD(以及 PHPCS ......我假设另一个即将发布的问题)。我也不是很精通 Linux。对不起。

我按照 PHPMD 上的下载说明进行操作。我使用了 Composer 并正确获取了所有依赖项(我假设)。我将它们放在具有完全权限的 usr/bin 目录中。

我尝试使用终端在文档页面上输入命令行,除了与我的机器相关的更改并且我希望输出是我可以保存用于文档的文件。

PHPMD 命令

输出文件

这看起来不像 PHPMD文档中显示的响应。关于我做错了什么的任何猜测?我不确定我是否应该调查我在 PHPMD 上做错了什么,或者我在 Linux 上做错了什么。如果您愿意,我正在使用 Linux Red Hat v6.7 (Santiago) VM。

谢谢!