2012-11-22 46 views
5

phpcs doğrulama için PEAR standardında küçük bir değişiklik yapmak istiyorum. Bu gibi onları yazmak istiyorumphpcs için PEAR standardını değiştirme

} else { 

:

} 
else { 

Nasıl bu değişiklik yapma konusunda gidebilirsiniz an ARMUT azından bu gibi başka ifadeleri yazmaya gerektirir?

+0

Kodunuz çevrimiçi kullanılabilir mi? Ayrıca bu şekilde kodumu da stillendirmek istiyorum ancak PEAR.ControlStructures.ControlSignature'ı hariç tutmak istemiyorum. – TheFox

cevap

5

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.

+0

Teşekkürler Greg, görünüşe göre EOL işe yaramıyor. Drupal kod standartlarından bir koku alıp onları PEAR ile birleştirdim. Yorumunuz için teşekkürler, orada bazı iyi bilgiler. – Noodles