я действительно люблю phpmd обеспечить минимальный уровень качества кода в наших проектах PHP. Теперь я хотел бы добавить правило, запрещающее использование суперглобальных слов. Но я не хочу иметь весь спорный набор правил включен. Я попробовал следующую строку (phpmd установлен с composer):
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>
Чтобы использовать эти правила, вы можете использовать следующую команду (phpmd устанавливается локально в вашем проекте с помощью composer):
vendor/bin/phpmd src/ text phpmd.xml
Более подробную информацию можно найти на http://phpmd.org/documentation/creating-a-ruleset.html
Других решений пока нет …