हाल ही में हम अपने केंद्रीय सर्वर पर डेवलपर्स को रिपोर्ट भेजने के लिए गिट और माइग्रेट करने के लिए माइग्रेट किए गए हैं, साथ ही साथ कई टूल बनाने के लिए हमें हमारे विकास वातावरण पर phpcs के साथ स्वचालित रूप से हमारे कोडर्ड मानक की जांच करने में सक्षम बनाता है।यदि मैं प्रति फ़ाइल प्रयुक्त phpcs नियमसेट को ओवरराइड कर सकता हूं, तो कैसे?
यह सब अच्छा और बेवकूफ है, अच्छी तरह से काम करता है, लेकिन हम हमेशा हमारे कोड मानक पर निर्भर रहने में सक्षम होना चाहते हैं, प्रत्येक फ़ाइल को अनदेखा नहीं करते जो तार्किक कारण के अनुरूप नहीं है। अब, हमारे पास अपना खुद का नियम है जो डिफ़ॉल्ट पीयर मानक में कुछ सामान ओवरराइड करता है, लेकिन यदि संभव हो तो हम थोड़ा और आगे जाना चाहते हैं।
हमारी समस्या यह है कि पीयर मानक सभी वर्गों/व्यावसायिक तर्कों के लिए बिल्कुल सही है, लेकिन दृश्य फ़ाइलों में हम कहने के नियमों को ढीला करना चाहते हैं, ब्रैकेट को अपनी लाइन पर होने की आवश्यकता है। समस्या यह है कि हम ज्यादातर इन फ़ाइलों में एचटीएमएल को परिभाषित करते हैं और हमारे पास केवल एक ही नियंत्रण संरचनाएं सरल होती हैं- अन्यथा या फोरैच स्टेटमेंट्स, और PHP खोलना, फिर एक नई लाइन, समापन ब्रैकेट, न्यूलाइन और क्लोजिंग php जोड़ना थोड़ा मूर्खतापूर्ण इमो है।
आवश्यक वाक्य रचना मान्य होने के लिए:
<?php
}
// end of some if statement ?>
क्या हम बजाय विचारों के लिए उपयोग करना चाहते हैं:
<?php } // end of some if statement ?>
यह हमारे कोड अधिक पठनीय होगा ...
हम स्वागत के रूप में वैकल्पिक वाक्यविन्यास को नापसंद करें (if(..): ... endif;
), afaik मुख्य रूप से क्योंकि यहां वैधता में कुछ समस्याएं भी थीं (यह सब व्हाईट स्पेस के बारे में है ...)।
पूरी फ़ाइल को अनदेखा करना (// @codingStandardsIgnoreFile
के साथ) हमारे लिए एक विकल्प नहीं है।
tl; डॉ
तो हम इसलिए हम अभी भी पालन करने के लिए एक मानक है हमारे विचार फ़ाइलों के लिए एक अलग नियम-सेट को परिभाषित किया गया है करना चाहते हैं क्या करने के लिए, लेकिन इन मोर्चों पर आराम के नियमों के साथ इसलिए हमारे कोड कर सकते हैं अभी भी पठनीय बनाया जा सकता है।
मैं अभी तक phpcs के बारे में भी जानकार नहीं हूँ, और किसी भी समाधान अपने आप कीवर्ड मैं हालांकि तार्किक थे का उपयोग कर नहीं मिला ... कोई सुझाव साफ फ़ाइलें देखें कि भी नाशपाती के अनुरूप भी स्वागत कर रहे हैं बनाने के लिए ...
उल्लेख करना भूल गए: सुनिश्चित करें कि आप PHP_CodeSniffer संस्करण 1.4.2 (नवीनतम स्थिर संस्करण) का उपयोग कर रहे हैं क्योंकि संस्करण 1.4.1 में नियम बग को बाहर रखा गया था। –
धन्यवाद, यह मूल रूप से मैं जो खोज रहा था वह था। मैंने व्यू फाइलों का स्थान जानबूझकर अस्पष्ट रखा क्योंकि वे विभिन्न प्रकार की परियोजनाओं के लिए अलग-अलग स्थानों पर हैं। हम इसे समझ सकते हैं :) – sg3s
आह! "-एस" ने मुझे स्निफ के माध्यम से बहुत सारी चीजें बचाईं। धन्यवाद :) – markdwhite