Вам нужно будет создать собственный стандарт кодирования, если вы хотите переопределить встроенные. Это всего лишь вопрос создания XML-файла со стандартным определением.
В вашем случае вам нужен весь код кодирования Zend, но вы не хотите, чтобы какое-либо конкретное правило конвенции об именах переменных. Таким образом, вы можете создать файл с именем mystandard.xml
(назовите его, что вы хотите, и поместить его там, где когда-либо вы хотите) и поставить в следующем содержании:
<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom Zend coding standard.</description>
<rule ref="Zend">
<exclude name="Zend.NamingConventions.ValidVariableName"/>
</rule>
</ruleset>
Существует много больше вы можете сделать, чтобы настроить свой стандарт, в том числе вводя проверки с других стандартов, переписывая сообщения или заглушая некоторые из них. Вы можете ознакомиться с документами здесь: http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php
Последнее, что я проверил, PHPStorm по какой-либо причине не позволял вам использовать пользовательские стандарты кодирования. Обычно вы просто вводите имя стандарта как полный путь к файлу mystandard.xml
. Если PHPStorm по-прежнему не позволяет вам это сделать, единственный способ обмануть его - фактически установить свой собственный стандарт.
Обратите внимание, что это не то, что вам обычно нужно делать, и это немного сложно. Но если вы хотите попробовать, вот как вы это делаете:
- Найти, где PHPCS установлен в вашей системе. Если вы не знаете, где это, попробуйте
pear config-show | grep php_dir
. PHP_CodeSniffer будет находиться в директории под ним. Для меня, PEAR установлен в /usr/local/PEAR
, так PHP_CodeSniffer находится на /usr/local/PEAR/PHP/CodeSniffer
- Создайте новую папку с именем
MyStandard
под /usr/local/PEAR/PHP/CodeSniffer/Standards
- Поместите свой файл
mystandard.xml
прямо там, но переименовать его в ruleset.xml
Для подтверждения вашего стандарт был установлен, запустите phpcs -i
. Вы должны увидеть
The installed coding standards are MySource, MyStandard, PEAR, PHPCS, Squiz and Zend
Теперь PhpStorm покажет (надеюсь) MyStandard
в качестве опции в раскрывающемся списке. Если он не отображается, то они, вероятно, жестко закодировали список, и не будет никакого способа заставить его работать, не взламывая стандарт кодирования Zend напрямую.
Я надеюсь, что эта информация поможет вам найти решение. Если нет, то вы всегда можете запустить PHPCS непосредственно из командной строки, используя свой собственный стандарт:
phpcs --standard=/path/to/mystandard.xml /path/to/code
Я провел большую часть дня, пытаясь заставить его работать. PHPStorm даже не загружает список установленных стандартов, единственные параметры в настройках инспектора пустые и настраиваемые, и даже выбор пользовательских параметров проверки никогда не отображается. Я могу заставить phsh правильно запускать CLI, но было бы неплохо, если бы он работал, как предписано в документах для PHPStorm. –