PHP में चर के लिए प्रमुख नामकरण सम्मेलन क्या है: ऊंट या अंडरस्कोर? [बन्द है]


51

सर्वसम्मति से प्रतीत होता है कि जिस मंच का वे विकास कर रहे हैं, उस सम्मेलन का पालन करना चाहिए। देख:

अंडरस्कोर या ऊंट?

नामकरण परंपराएँ: ऊंटकैसे बनाम अंडरस्कोर_केस?

हालाँकि, PHP किसी भी कन्वेंशन को आंतरिक रूप से (वहाँ कोई आश्चर्य नहीं), यहां तक ​​कि तरीकों और कार्यों (जैसे mysqli::set_local_infile_default, PDOStatement::debugDumpParams) के लिए सख्ती से पालन करने के लिए प्रतीत नहीं होता है ; हालाँकि, फ़ंक्शन के नामों में अंडरस्कोर प्रमुख लगता है।

हालाँकि, जो मुझे नहीं मिला वह यह था: क्या PHP में चर के लिए प्रमुख नामकरण सम्मेलन है?


एक उठाओ और इसके साथ रहना। इससे कोई फर्क नहीं पड़ता कि आप किसको चुनेंगे, जब तक आप उसके साथ रहेंगे। टैब बनाम रिक्त स्थान के साथ भी।
यानिस

2
मैं लिंक किए गए चर्चाओं में प्रचलित राय से दृढ़ता से सहमत हूं: एक को सम्मेलन का पालन करना चाहिए। इसलिए मैंने सवाल का दायरा PHP तक सीमित कर दिया है। हालांकि, मैं इस बात को आश्चर्य शुरू कर है PHP में एक प्रमुख नामकरण परंपरा।
sbichenko

5
ऐसा नहीं है, नामकरण परंपराएं अभी तक उन छोटी विसंगतियों में से एक हैं जो पीएचपी को काम करने के लिए अद्भुत बनाती हैं। PSR एक प्रयास है जो मुझे लगता है कि लायक है, लेकिन ... यह पूरी तरह से आप पर निर्भर है। संबंधित प्रश्न: क्या PHP के लिए मानक शैली गाइड हैं? & क्यों बूटस्ट्रैप 3 कैमलकेस को डैश में बदलता है - क्या यह अधिक पठनीय है?
यानिस

यह सवाल आपकी मदद कर सकता है: programmers.stackexchange.com/questions/149303/…
प्रोग्रामर

1 लिंक मृत है, लेकिन यहां संग्रह है: web.archive.org/web/20130417105957/http://stackoverflow.com/…
दिमित्री जैतसेव

जवाबों:


50

PHP में कोई निश्चित नामकरण सम्मेलन नहीं है, और वे फ्रेमवर्क से भिन्न हैं:

तो: अपने ढांचे का उपयोग करें या अपने स्वयं के नामकरण सम्मेलन बनाएँ।

कम से कम फ़ंक्शन नामों और वर्ग विधियों के लिए, विचार करने के लिए एक बात है, लेकिन कुछ रूपरेखा इसे छोड़ देती हैं: PHP उस मामले में असंवेदनशील है , इसलिए aTonalFunction()और atonalFunction()दोनों एक ही फ़ंक्शन के लिए कॉल हैं।


1
अपने मेथोंड नामकरण तर्क के खिलाफ कुछ भी नहीं है, लेकिन यह बिल्कुल सम्मेलन नहीं है। Zend फ्रेमवर्क 2 , डॉक्ट्रिन 2 और सिम्फनी 2 जैसे सभी आधुनिक फ्रेमवर्क और लाइब्रेरी विधि नामों के लिए कैमसेलकेस का उपयोग करते हैं।
रुडोल्फ गोटेसहेम

@RudolphGottesheim अच्छा बिंदु। मैंने उसी के अनुसार उत्तर संपादित किया है।
रेजिड्यूमन

1
दिलचस्प। मैं यहाँ आया था क्योंकि मुझे वर्डप्रेस का कोडिंग कन्वेंशन अनजाने में मिला। अब मैं देखता हूं कि कम से कम उनका मतलब था कि यह अनजान है
किर्बी

14

PHP के साथ दस से अधिक वर्षों के लिए कोडिंग के रूप में, मैं अंडरस्कोर से कैमलकेस में बदलाव देख सकता हूं। विशेष रूप से Zend और Symfony जैसे बड़े फ्रेमवर्क कैमलकेस पर तब भी निर्माण करते हैं, जब वे अंडरस्कोर को प्रतिबंधित नहीं करते हैं, लेकिन सभी मुख्य कार्य कैमलकेस हैं।

आप पुराने सिस्टम में बहुत सारे अंडरस्कोर समाधान देख सकते हैं, जैसे पुरानी टाइपो 3 शाखा (टाइपो 3 नियो को कैमलकेस में बदल दिया गया है)।

लेकिन निश्चित रूप से कोई सख्त नियम नहीं है, जो सभी के द्वारा उपयोग किया जाता है, बस यही कुछ है जो मैं पिछले कुछ वर्षों में देख सकता हूं।


1

यह प्रोग्रामर / डेवलपर्स के साथ-साथ जिस फ्रेमवर्क या ओपन सोर्स पर वे काम कर रहे हैं, उस पर निर्भर करता है। उदाहरण के लिए, वाईआईआई फ्रेमवर्क में, ऊंट मामले का उपयोग करने की सलाह दी जाती है, जबकि कोडाइनिटर फ्रेमवर्क में, ज्यादातर लोग अंडरस्कोर वाले चर नामों का पालन करते हैं। कुछ के लिए एक बात यह है कि आप किस फ्रेमवर्क का उपयोग करते हैं, चर नाम समझने और पहचानने योग्य होना चाहिए।


0

व्यक्तिगत रूप से, यह किसी भी तरह से जा सकता है। कुछ प्रोग्रामर लिखने के कैमलकेस तरीके को पसंद करते हैं, अन्य अंडरस्कोर पसंद करते हैं ... इसलिए इस तरह का प्रश्न पूछना यह असंगत है क्योंकि प्रत्येक प्रोग्रामर की अपनी अलग राय होगी ... व्यक्तिगत रूप से, मुझे स्थिति के आधार पर दोनों करने की आदत है। ..

स्थिति एक:

आप एक प्रोग्रामिंग टीम में शामिल हो गए हैं और एक ऑन-गोइंग प्रोजेक्ट में शामिल हो गए हैं, तो आप ध्यान दें कि एक उदाहरण चर बाहर सेट है:

$theString = "This is a camelcase example";

लेकिन आपके पास एक पसंदीदा शैली है:

$the_string = "This is not a camelcase example"; 

इस तरह की स्थिति में, ऊंट को रखना सबसे अच्छा होगा।

स्थिति दो:

आप एक एकल परियोजना शुरू करना चाहते हैं।

इस तरह के मामले में ... यह सिर्फ वही होता है जो आप सहज महसूस करते हैं, इसके संदर्भ में बुरी प्रथाओं को ध्यान में रखें:

$theString = "This is a sample String"; 
$the_string = "This is another sample string within the same project"; 

यह आसानी से अप्रत्याशित उत्पादन का कारण बन सकता है .. बस इसे ध्यान में रखें।


9
FYI करें, आप जिस चीज का जिक्र कर रहे हैं वह है PascalCase - camelCase कम केस लेटर से शुरू होता है।
जॉन वीज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.