xsolve-pl / phpmd
该软件包的最新版本(1.4.0)没有提供许可信息。
使用Composer处理PHPMD的官方版本。
1.4.0
2012-09-07 21:52 UTC
Requires
- php: >=5.3.0
- pdepend/pdepend: *
This package is not auto-updated.
Last update: 2024-09-22 03:47:17 UTC
README
用法:phpmd [filename|directory] [report format] [ruleset file],例如
mapi@arwen ~ $ phpmd PHP/Depend/DbusUI/ xml rulesets/codesize.xml
<?xml version="1.0" encoding="UTF-8" ?>
<pmd version="0.0.1" timestamp="2009-12-19T22:17:18+01:00">
<file name="/projects/pdepend/PHP/Depend/DbusUI/ResultPrinter.php">
<violation beginline="67"
endline="224"
rule="TooManyMethods"
ruleset="Code Size Rules"
package="PHP_Depend\DbusUI"
class="PHP_Depend_DbusUI_ResultPrinter"
priority="3">
This class has too many methods, consider refactoring it.
</violation>
</file>
</pmd>
您可以将包含PHP源代码的文件名或目录名传递给PHPMD。
PHPMD的PEAR或Phar发行版包含规则集文件在其存档中,即使上面的"rulesets/codesize.xml"参数看起来像文件系统引用。
命令行选项
请注意,默认输出为XML,因此您可以将其重定向到文件,并使用XSLT或其他方式处理。
您还可以使用缩写名称来引用内置规则集,如下所示
phpmd PHP/Depend/DbusUI/ xml codesize
命令行界面还接受以下可选参数
--minimumpriority- 规则优先级阈值;优先级低于此的规则将不会使用。--reportfile- 将报告输出发送到指定的文件,而不是默认输出目标STDOUT。--suffixes- 以逗号分隔的有效源代码文件扩展名字符串。--exclude- 以逗号分隔的用于忽略目录的模式。--struct- 还报告有 @SuppressWarnings 注释的节点。
使用多个规则集
PHPMD使用所谓的规则集,它配置/定义了一组将在测试源代码中应用的规则。PHPMD的默认发行版已经附带了一些默认集,可以开箱即用。您可以使用集的名称调用PHPMD的cli工具以应用此配置
~ $ phpmd /path/to/source text codesize
但是,如果您想要针对源代码应用多个规则集怎么办?您也可以将规则集名称的列表传递给PHPMD的cli工具,以逗号分隔
~ $ phpmd /path/to/source text codesize,unusedcode,naming
您还可以将自定义 规则集文件 与内置规则集混合使用
~ $ phpmd /path/to/source text codesize,/my/rules.xml
就是这样。通过这种行为,您可以指定要检查源代码的自己的规则集组合。
使用多个源文件和文件夹
PHPMD还允许您指定多个源目录,如果您想为代码的某些部分创建一个输出
~ $ phpmd /path/to/code,index.php,/another/place/with/code text codesize
退出代码
PHPMD的命令行工具目前定义了三个不同的退出代码。
- 0,此退出代码表示一切按预期进行。这意味着没有错误/异常,PHPMD未检测到测试代码中的任何规则违规。
- 1,此退出代码表示发生了错误/异常,这中断了PHPMD的执行。
- 2,此退出代码表示PHPMD在未发生错误/异常的情况下处理了测试代码,但它已检测到分析源代码中的规则违规。
渲染器
目前PHPMD附带以下三个渲染器
- xml,将报告格式化为XML。
- text,简单的文本格式。
- html,包含可能问题的单个HTML文件。