Musisz utworzyć niestandardowy standard kodowania, jeśli chcesz zastąpić te wbudowane. Jest to tylko kwestia utworzenia pliku XML z definicją standardu.
W twoim przypadku potrzebujesz całego standardu kodowania Zend, ale nie chcesz mieć konkretnej reguły nazewnictwa dla nazw zmiennych. Tak by utworzyć plik o nazwie mystandard.xml
(nazwa to co chcesz i umieścić go gdziekolwiek chcesz) i umieścić w następujących treści:
<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom Zend coding standard.</description>
<rule ref="Zend">
<exclude name="Zend.NamingConventions.ValidVariableName"/>
</rule>
</ruleset>
Jest dużo więcej można zrobić, aby dostosować swoje standardy, w tym wprowadzanie czeków z innych standardów, nadpisywanie wiadomości lub wyciszanie niektórych z nich. Możesz spojrzeć na dokumenty tutaj: http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php
Ostatni sprawdziłem, PHPStorm nie pozwolił ci korzystać z niestandardowych standardów kodowania, z jakiegokolwiek powodu. Zwykle wystarczy wpisać nazwę standardu jako pełną ścieżkę do pliku mystandard.xml
. Jeśli PHPStorm nadal nie pozwala ci tego zrobić, jedynym sposobem, aby oszukać, jest faktyczne zainstalowanie niestandardowego standardu.
Należy zauważyć, że nie jest to coś, co zwykle trzeba zrobić i jest to nieco skomplikowane. Ale jeśli chcesz go wypróbować, tak to zrobisz:
- Znajdź, gdzie PHPCS jest zainstalowany w twoim systemie. Jeśli nie wiesz, gdzie to jest, spróbuj
pear config-show | grep php_dir
. PHP_CodeSniffer znajdzie się w tym katalogu. Dla mnie, gruszka jest zainstalowany w /usr/local/PEAR
, więc PHP_CodeSniffer znajduje się w /usr/local/PEAR/PHP/CodeSniffer
- Utwórz nowy katalog o nazwie
MyStandard
pod /usr/local/PEAR/PHP/CodeSniffer/Standards
- Umieść plik
mystandard.xml
bezpośrednio tam jednak zmienić jego nazwę na ruleset.xml
aby potwierdzić standard został zainstalowany, uruchom phpcs -i
. Powinieneś zobaczyć
The installed coding standards are MySource, MyStandard, PEAR, PHPCS, Squiz and Zend
Teraz PHPStorm pokaże (miejmy nadzieję) MyStandard
jako opcja w menu rozwijanego. Jeśli się nie pojawi, prawdopodobnie zakodowali listę i nie będzie żadnego sposobu, aby to zadziałało bez bezpośredniego hakowania standardu kodowania Zend.
Mam nadzieję, że te informacje pomogą znaleźć rozwiązanie. Jeśli nie, zawsze można uruchomić PHPCS bezpośrednio z linii poleceń przy użyciu standardowego w niestandardowy:
phpcs --standard=/path/to/mystandard.xml /path/to/code
Spędziłem lepszą część popołudnia próbując zmusić to do pracy. PHPStorm nie załaduje nawet listy zainstalowanych standardów, jedyne opcje w ustawieniach inspektora są puste i niestandardowe, a nawet wybranie opcji sprawdzania poprawności nigdy się nie wyświetla. Mogę uzyskać phpcs, aby poprawnie uruchomić CLI, ale byłoby miło, gdyby działało zgodnie z dokumentami dla PHPStorm. –