2011-08-13 16 views
7

Tôi đang làm việc trên một mô-đun công cụ mật khẩu và một phần của nó đang sử dụng mã hóa/giải mã base64. Kết quả là tôi có một số biến bao gồm thuật ngữ 'base64' vì các lý do rõ ràng. Vấn đề là khi tôi chạy công cụ PHP_CodeSniffer, nó ném cảnh báo: "Biến" ... 64 "chứa số nhưng điều này không được khuyến khích".Bỏ qua các cảnh báo cụ thể với PHP_CodeSniffer

Có cách nào để yêu cầu PHP_CodeSniffer bỏ qua những cảnh báo này đối với tệp cụ thể này không? Tôi chắc chắn có một lý do chính đáng để tránh con số, nhưng trong trường hợp này, tôi muốn sử dụng 'base64' hơn 'baseSixtyFour' ...

Đây là cách tôi đang chạy PHP_CodeSniffer:

[email protected]:~/workspace/library$ phpcs --standard=ZEND ./Tools/ 

FILE: /home/valorin/workspace/library/Tools/Password.php 
-------------------------------------------------------------------------------- 
FOUND 0 ERROR(S) AND 6 WARNING(S) AFFECTING 5 LINE(S) 
-------------------------------------------------------------------------------- 
    38 | WARNING | Variable "_bEncryptionBase64" contains numbers but this is 
    |   | discouraged 
    94 | WARNING | Variable "_bEncryptionBase64" contains numbers but this is 
    |   | discouraged 
    94 | WARNING | Variable "base64" contains numbers but this is discouraged 
    95 | WARNING | Variable "base64" contains numbers but this is discouraged 
210 | WARNING | Variable "bEncryptionBase64" contains numbers but this is 
    |   | discouraged 
251 | WARNING | Variable "bEncryptionBase64" contains numbers but this is 
    |   | discouraged 
-------------------------------------------------------------------------------- 

Time: 1 second, Memory: 7.50Mb 

Trả lời

4

Sử dụng thẻ ức chế bình luận:

// @codingStandardsIgnoreStart 

/* put your bad code here! */  

// @codingStandardsIgnoreEnd 

Điều này đòi hỏi phiên bản 1.2 hoặc cao hơn.

+4

Vấn đề với điều đó là, tôi cần phải đặt chúng xung quanh việc sử dụng các biến (thường xuyên), vì vậy nó là một giải pháp khá lộn xộn ... –

4

Trong mãSniffer phiên bản 1.3, bạn có thể exclude specific sniffs from specific files ở cấp tệp ruleset.xml.

+0

Giải pháp tốt hơn vì bạn sẽ không gây ô nhiễm mã nguồn của bạn sniffing directive. Bạn thực sự có thể chỉ định một thông báo lỗi đơn. –

+0

Có, nhưng làm thế nào để bạn tìm ra tên của một thông báo lỗi đơn? Tôi thậm chí còn nhìn vào bên trong một trong số họ, không thể hiểu được. (ScopeClosingBraceSniff.php) –

+0

@AmigableClarkKant - Tôi đã không thực sự sử dụng logic loại trừ thông điệp cụ thể (tôi chỉ loại trừ ở cấp độ của sniff), nhưng nhìn vào ScopeClosingBraceSniff.php tôi thấy các dòng sau: $ phpcsFile-> addError ($ error, $ scopeEnd, 'ContentBefore'); và $ phpcsFile-> addError ($ error, $ scopeEnd, 'Indent', $ data) ;, mà tôi sẽ tưởng tượng sẽ được chỉ định thông qua ref = "Squiz.WhiteSpace.ScopeClosingBrace.ContentBefore" và ref = "Squiz.WhiteSpace.ScopeClosingBrace .Indent ", tương ứng. – Peter