Sie müssen einen benutzerdefinierten Codierungsstandard erstellen, wenn Sie die integrierten Standards überschreiben möchten. Dies ist nur eine Frage der Erstellung einer XML-Datei mit der Definition des Standards darin.
In Ihrem Fall möchten Sie den gesamten Zend-Codierungsstandard, aber Sie wollen nicht die bestimmte Namenskonvention Regel über Variablennamen. So würden Sie eine Datei mystandard.xml
genannt erstellen (nennen Sie es, was Sie wollen und setzte es, wo immer Sie wollen) und in den folgenden Inhalten setzen:
<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom Zend coding standard.</description>
<rule ref="Zend">
<exclude name="Zend.NamingConventions.ValidVariableName"/>
</rule>
</ruleset>
Es gibt viel mehr Sie tun können, Ihre Standard anpassen, einschließlich Einchecken von anderen Standards, Überschreiben von Nachrichten oder Stummschalten von einigen von ihnen. Sie können sich die Dokumentation hier ansehen: http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php
Zuletzt habe ich überprüft, PHPSstorm ließ Sie keine benutzerdefinierten Kodierungsstandards verwenden, aus welchen Gründen auch immer. Normalerweise geben Sie einfach den Namen des Standards als vollständigen Pfad zur Datei mystandard.xml
ein. Wenn Sie mit PHPStorm immer noch nicht dazu in der Lage sind, können Sie Ihren benutzerdefinierten Standard tatsächlich installieren.
Beachten Sie, dass dies normalerweise nicht erforderlich ist und etwas kompliziert ist. Aber wenn Sie es versuchen möchten, ist dies wie Sie es tun:
- Finden Sie, wo PHPCS auf Ihrem System installiert ist. Wenn Sie nicht wissen, wo das ist, versuchen Sie
pear config-show | grep php_dir
. PHP_CodeSniffer wird in einem Verzeichnis unter dort sein. Für mich ist PEAR in /usr/local/PEAR
installiert, so PHP_CodeSniffer bei /usr/local/PEAR/PHP/CodeSniffer
- Erstellen Sie ein neues Verzeichnis
MyStandard
unter /usr/local/PEAR/PHP/CodeSniffer/Standards
- Legen Sie Ihre
mystandard.xml
Datei direkt in dort aber benennen Sie sie in ruleset.xml
Zur Bestätigung Ihrer genannt gefunden Standard wurde installiert, führen Sie phpcs -i
. Sie sollten nun
The installed coding standards are MySource, MyStandard, PEAR, PHPCS, Squiz and Zend
finden PhpStorm zeigen (hoffentlich) MyStandard
als Option in der Dropdown-Liste. Wenn es nicht angezeigt wird, dann haben sie wahrscheinlich die Liste hart-codiert, und es wird keine Möglichkeit geben, es zu funktionieren, ohne den Zend-Codierungsstandard direkt zu hacken.
Ich hoffe, dass Informationen helfen Ihnen eine Lösung zu finden. Wenn nicht, können Sie immer laufen PHPCS direkt auf der Kommandozeile unter Verwendung Ihres eigenen Standard:
phpcs --standard=/path/to/mystandard.xml /path/to/code
Ich verbrachte den besseren Teil des Nachmittags versuchen, dies zur Arbeit zu bringen. PHPStorm lädt nicht einmal die Liste der installierten Standards, die einzigen Optionen in den Inspektoreinstellungen sind leer und benutzerdefiniert, und selbst die Auswahl von benutzerdefiniert wird die Validierungsoption nie angezeigt. Ich kann phpcs erhalten, CLI richtig zu laufen, aber es wäre nett, es wie in den Dokumenten für PHPSstorm vorgeschrieben zu arbeiten. –