2014-07-14 4 views
6

में अपवाद मैं PHP CodeSniffer डेवलपर्स के एक समूह के बीच कोड शैली लागू करने के लिए, लेकिन मैं कुछ समस्या आई है के लिए एक नियम-सेट स्थापित करने के लिए प्रयास कर रहा हूँ के साथ।उपयोग PSR-2 पीएचपी CodeSniffer

हम दो चीजों के बारे में के लिए छोड़कर PSR-2 का पालन करना चाहते हैं। हम वर्ग घोषणाओं को एक ही पंक्ति पर खुले ब्रेस और कार्यों के लिए समान चाहते हैं। सबसे पहले मैंने ठीक करने में कामयाब रहा है लेकिन कार्यों के लिए एक ही पंक्ति पर खुले ब्रेस के लिए त्रुटि सिर्फ दूर नहीं जाएगी।

मैंने इसे स्नीफ जेनेरिक.फंक्शंस के लिए ढूंढ लिया है। ओपनिंगफंक्शनक्शनब्रेस.एसएसडीएलमैन और त्रुटि BraceOnSameLine लेकिन यह मेरे नियम में बहिष्कृत करने से कुछ भी नहीं करता है।

<?xml version="1.0"?> 
<ruleset name="OrgXYZ"> 
    <description>The coding standard for Organization XYZ.</description> 
    <rule ref="PSR2"> 
     <exclude name="PSR2.Classes.ClassDeclaration.OpenBraceNewLine"/> 
     <exclude name="Generic.Functions.OpeningFunctionBraceBsdAllman.BraceOnSameLine"/> 
    </rule> 
</ruleset> 

और संदेश मैं रिपोर्ट से दूर करने के लिए कोशिश कर रहा हूँ यह है::

मेरे नियम-सेट इस तरह दिखता है

15 | ERROR | Opening brace should be on a new line 

यह मेरा मेरी खुद की एक नियम-सेट का पहला प्रयास है और मैं वास्तव में यहां एक नुकसान में हूँ। मैंने गुमराह किया है, खोजा है और ऐसा लगता है कि सब कुछ लगता है।

+0

आप sniffs का उपयोग करने के लिए आदेश पंक्ति में अपने नियम-सेट सहित रहे हैं के रूप में के परिणामों अपनी परियोजना जड़ phpcs.xml में टैग, को बाहर जोड़ें –

+0

हां। यद्यपि समाधान मिला। नीचे देखें :-) – FighterHayabusa

उत्तर

6

समस्या मिला। मैं मिल गया था क्या PSR2 नियम-सेट में शामिल है और गलत बातें बाहर रखना है में खो दिया है। जोड़ने से इस इसे हल:

<exclude name="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine"/> 
+0

यह ध्यान रखें कि इस सूंघ को छोड़कर केवल एक ही लाइन पर उद्घाटन ब्रेस रखने के लिए त्रुटि को दबा महत्वपूर्ण है। यह होता है ** नहीं ** स्वचालित रूप से गारंटी है कि एक _new_ लाइन पर उद्घाटन ब्रेस रखकर एक त्रुटि के रूप में के बजाय ध्वजांकित है। मुझे अभी तक एक स्नीफ नहीं मिला है जो ... – beporter

+1

जेनेरिक.फंक्शन। ओपनिंगफंक्शनक्शन -्रेसकेर्नघान रिची.ब्रेसऑन न्यूलाइन एक नई त्रुटि खोलने वाली ब्रेस को एक त्रुटि के रूप में ध्वजांकित करेगी। – cmerriman

1

रास्ता डिबग codesniffer को, -s झंडा उपयोग करने के लिए, sniffs लागू खुलासा है। उदाहरण के लिए

phpcs -s ugly.php 

जैसे आपके डेमो