如何使用 PHPMD 避免超全局变量
How to avoid superglobals using PHPMD
我真的很喜欢 phpmd to ensure a minimum level of code quality in our PHP projects. Now I like to add a rule to dectect the use of superglobals. But I do not want to have the whole controversial ruleset 包括在内。我尝试了以下行(使用 composer 安装了 phpmd):
vendor/bin/phpmd src/ text codesize,design,naming,unusedcode,Superglobals
但输出如下:
Cannot find specified rule-set "Superglobals".
有谁知道如何在 phpmd 中添加单个规则?
我创建了一个文件phpmd.rules.xml,内容如下:
<?xml version="1.0"?>
<ruleset name="No controversial but superglobals"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
<description> Rulesets without controversial rules but including the check for superglobals </description>
<rule ref="rulesets/codesize.xml" />
<rule ref="rulesets/design.xml" />
<rule ref="rulesets/naming.xml" />
<rule ref="rulesets/unusedcode.xml" />
<rule ref="rulesets/controversial.xml/Superglobals" />
</ruleset>
要使用这些规则,您可以使用以下命令(使用 composer 在您的项目中本地安装 phpmd):
vendor/bin/phpmd src/ text phpmd.xml
上找到更多详细信息
我真的很喜欢 phpmd to ensure a minimum level of code quality in our PHP projects. Now I like to add a rule to dectect the use of superglobals. But I do not want to have the whole controversial ruleset 包括在内。我尝试了以下行(使用 composer 安装了 phpmd):
vendor/bin/phpmd src/ text codesize,design,naming,unusedcode,Superglobals
但输出如下:
Cannot find specified rule-set "Superglobals".
有谁知道如何在 phpmd 中添加单个规则?
我创建了一个文件phpmd.rules.xml,内容如下:
<?xml version="1.0"?>
<ruleset name="No controversial but superglobals"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
<description> Rulesets without controversial rules but including the check for superglobals </description>
<rule ref="rulesets/codesize.xml" />
<rule ref="rulesets/design.xml" />
<rule ref="rulesets/naming.xml" />
<rule ref="rulesets/unusedcode.xml" />
<rule ref="rulesets/controversial.xml/Superglobals" />
</ruleset>
要使用这些规则,您可以使用以下命令(使用 composer 在您的项目中本地安装 phpmd):
vendor/bin/phpmd src/ text phpmd.xml
上找到更多详细信息