Как избежать суперглобальных с использованием PHPMD

я действительно люблю phpmd обеспечить минимальный уровень качества кода в наших проектах PHP. Теперь я хотел бы добавить правило, запрещающее использование суперглобальных слов. Но я не хочу иметь весь спорный набор правил включен. Я попробовал следующую строку (phpmd установлен с composer):

vendor/bin/phpmd src/ text codesize,design,naming,unusedcode,Superglobals

Но вывод следующий:

Cannot find specified rule-set "Superglobals".

Кто-нибудь знает, как добавить одно правило в phpmd?

2

Решение

Я создал файл 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

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]