Bunu yapmanın tek yolu, bir ruleset.xml dosyası kullanarak kendi kodlama standardınızı yazmaktır. Tüm PEAR kodlama standardını içe aktarmalı, ancak bu kontrolü yapan spesifik sniff'i hariç tutmalıdır. Bu bit tek bir XML dosyası ile yapılabilir.
Ancak, aradığınız else
sözdizimini destekleyen yerleşik bir sniff yoktur. Bunu yapmak için, bir yerde saklamak zorunda olduğunuzdan daha karmaşık olan özel bir sniff yazmanız gerekir. Eğer basit bir özel kodlama standardını deneyerek başlamak istiyorsanız
, ruleset.xml
adlı bir dosya oluşturun ve bu içerikleri olun:
<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom coding standard.</description>
<rule ref="PEAR">
<exclude name="PEAR.ControlStructures.ControlSignature"/>
</rule>
</ruleset>
Sonra böyle PHP_CodeSniffer çalıştırın:
phpcs --standard=/path/to/ruleset.xml /path/to/code
Bu irade Kodunuzu PEAR kodlama standardına göre kontrol edin, ancak kontrol yapıları için spesifik kontrolleri hariç tutun. İhtiyacınız olan bu ise, orada durabilirsiniz. Bu özel standardı çalıştırmak istediğiniz bir ekibiniz varsa, onlara dosyayı verin ve onlar da kullanabilir. http://pear.php.net/manual/en/package.php.php-codesniffer.coding-standard-tutorial.php
Bu irade: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml
devam edin ve özel sniff'ini yazmak istiyorsanız, bu temel öğretici ile başlamak en iyisidir: Burada ruleset.xml biçimi hakkında daha fazla bilgi yoktur
Bir kodlama standardının ne olduğunu açıklar. Daha sonra, kendi sniff'inizi oluşturmak isteyeceksiniz, bu sadece PEAR'ın bir kopyasıdır, yapılandırılmış kontrolün nasıl yapıldığına dair ufak değişikliklerle. PEAR burnu: https://github.com/squizlabs/PHP_CodeSniffer/blob/master/CodeSniffer/Standards/PEAR/Sniffs/ControlStructures/ControlSignatureSniff.php
Test yapmadan'u }EOLelse {EOL',
olarak değiştirmek isteyip istemediğinizi düşünelim.
Kodunuz çevrimiçi kullanılabilir mi? Ayrıca bu şekilde kodumu da stillendirmek istiyorum ancak PEAR.ControlStructures.ControlSignature'ı hariç tutmak istemiyorum. – TheFox