PHPMD vs PMD
PHPMD
phpmd.orgPMD
pmd.github.ioSide by side
| Figure | PHPMD | PMD |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Linters | 7.7 (#21) | 8.3 (#6) |
| Installation | The site documents installation as a Phar, through PHIVE, or via Composer. | PMD requires Java 8 or above and is distributed as a ZIP archive containing PMD and CPD. |
| License | The project site identifies PHPMD as licensed under the BSD 3-Clause license. | The project identifies its license as BSD-style. |
| Purpose | PHPMD analyzes PHP source code for possible bugs, suboptimal code, overcomplicated expressions, and unused parameters, methods, or properties. | PMD is an extensible cross-language static code analyzer that finds common programming flaws. |
| Support | The support page directs users to the Gitter channel for help and the issue tracker for bugs or feature requests. | The project directs users to Stack Overflow for questions, GitHub issues for suspected bugs or requests, and Gitter for quick questions. |
Plans
In their own words
PHPMD
PHPMD analyzes PHP source code for possible bugs, inefficient patterns, complicated expressions, and unused parameters, methods, or properties. Its predefined rules flag code smells and potential errors across categories including clean code, code size, controversial practices, design, naming, and unused code. Teams can add custom rules and use security rules, and PHPMD supports CI workflows. Reports include JSON, SARIF, Checkstyle-compatible, GitHub, and GitLab options, including a GitLab renderer for GitLab CI. The project documents installation through a Phar, PHIVE, or Composer; Phar files are signed with a public key associated with [email protected]. Listed requirements are PHP >= 5.3.9 and PHP_Depend >= 2.0.0. PHPMD is free under the BSD 3-Clause license and runs on Linux, macOS, Windows, or a self-hosted setup. The homepage lists version 2.15.0, dated 2023/12/11, as the latest release shown. Help is available through the Gitter channel, while bugs and feature requests go to the issue tracker.
PMD
PMD is a free, extensible static code analyzer that checks source code for programming flaws such as unused variables, empty catch blocks, and unnecessary object creation. It includes more than 400 built-in rules, and teams can write custom rules in Java or XPath. Its bundled CPD tool finds duplicated code across many programming languages. PMD checks source directories from the command line and can run as a Maven, Ant, Gradle, or bld build operation. Supported languages include Java, JavaScript, Salesforce Apex and Visualforce, Kotlin, Swift, Modelica, PL/SQL, Apache Velocity, JSP, WSDL, Maven POM, HTML, XML, and XSL; Scala is supported without Scala rules. It runs on Linux, macOS, and Windows and requires Java 8 or above. For CI, its GitHub Action can create SARIF reports and fail builds based on violation counts; documentation also covers GitLab, Jenkins, and Bamboo integrations. IDE integrations include Eclipse, IntelliJ IDEA, and Visual Studio Code, though some listed plugins are not actively maintained. Only the latest major version is actively developed.