यदि आप अंतर्निहित लोगों को ओवरराइड करना चाहते हैं तो आपको कस्टम कोडिंग मानक बनाना होगा। यह केवल मानक की परिभाषा के साथ एक एक्सएमएल फ़ाइल बनाने का मामला है।
अपने मामले में, आप पूरे ज़ेंड कोडिंग मानक चाहते हैं, लेकिन आप विशेष नामकरण सम्मेलन को परिवर्तनीय नामों के बारे में नहीं चाहते हैं। तो तुम एक फ़ाइल mystandard.xml
बनाएं जिसका नाम होगा (इसे नाम जो भी आप चाहते हैं और जहां कभी आप चाहते हैं डाल दिया) और निम्नलिखित सामग्री में डाल:
<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom Zend coding standard.</description>
<rule ref="Zend">
<exclude name="Zend.NamingConventions.ValidVariableName"/>
</rule>
</ruleset>
नहीं है एक बहुत अधिक आप अपने मानक को अनुकूलित सहित कर सकते हैं अन्य मानकों से चेक लाने, संदेशों को ओवरराइट करने या उनमें से कुछ को म्यूट करने के लिए। आप यहां दस्तावेज़ों पर एक नज़र डाल सकते हैं: http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php
पिछली बार मैंने जांच की, PHPStorm ने आपको किसी भी कारण से कस्टम कोडिंग मानकों का उपयोग करने नहीं दिया। आम तौर पर, आप मानक के नाम को mystandard.xml
फ़ाइल के पूर्ण पथ के रूप में टाइप करेंगे। यदि PHPStorm अभी भी ऐसा करने नहीं देता है, तो इसे चालित करने का एकमात्र तरीका वास्तव में आपके कस्टम मानक को स्थापित करना है।
ध्यान दें कि यह ऐसा कुछ नहीं है जिसे आपको सामान्य रूप से करने की आवश्यकता होती है और यह थोड़ा जटिल है। लेकिन अगर आप इसे आजमा देना चाहते हैं, तो आप इसे कैसे करते हैं:
- खोजें कि आपके सिस्टम पर PHPCS कहाँ स्थापित है। यदि आपको नहीं पता कि वह कहां है, तो
pear config-show | grep php_dir
आज़माएं। PHP_CodeSniffer वहां एक निर्देशिका में होगा। मेरे लिए, नाशपाती /usr/local/PEAR
में स्थापित किया गया है, इसलिए PHP_CodeSniffer /usr/local/PEAR/PHP/CodeSniffer
- में पाया जाता है
/usr/local/PEAR/PHP/CodeSniffer/Standards
- के तहत एक नया निर्देशिका
MyStandard
बनाएं जिसका नाम वहाँ में सीधे अपने mystandard.xml
फ़ाइल रखो लेकिन ruleset.xml
लिए इसका नाम बदलना पुष्टि करने के लिए अपने मानक स्थापित किया गया है, phpcs -i
चलाएं। आप
The installed coding standards are MySource, MyStandard, PEAR, PHPCS, Squiz and Zend
देखना चाहिए अब, PHPStorm ड्रॉप-डाउन में एक विकल्प के रूप में दिखाई देगा (उम्मीद) MyStandard
। यदि यह प्रदर्शित नहीं होता है, तो संभवतः उन्होंने सूची को हार्ड-कोड किया है और ज़ेंड कोडिंग मानक को सीधे हैक किए बिना इसे काम करने का कोई तरीका नहीं होगा।
मुझे आशा है कि जानकारी आपको समाधान ढूंढने में मदद करेगी। यदि नहीं, तो आप हमेशा PHPCS सीधे अपने कस्टम मानक का उपयोग कमांड लाइन पर चला सकते हैं:
phpcs --standard=/path/to/mystandard.xml /path/to/code
मैंने इसे दोपहर के बेहतर हिस्से को काम करने की कोशिश करने में बिताया। PHPStorm इंस्टॉल किए गए मानकों की सूची भी लोड नहीं करेगा, इंस्पेक्टर सेटिंग्स में एकमात्र विकल्प रिक्त और कस्टम हैं, और यहां तक कि मान्य विकल्प का चयन भी कभी नहीं दिखाता है। मैं सीपीआई को ठीक से चलाने के लिए phpcs प्राप्त कर सकता हूं लेकिन यह अच्छा होगा कि यह PHPStorm के लिए दस्तावेज़ों में निर्धारित अनुसार अच्छा लगे। –