अनुभव, कॉलेज की डिग्री और सॉफ्टवेयर इंजीनियरिंग के खिलाफ कौन बहस कर सकता है? मैं नहीं। मैं केवल यह कहूंगा कि ऑब्जेक्ट-ओरिएंटेड सिंगल पेज PHP एप्लिकेशन्स को विकसित करने में, मुझे अधिक मज़ा आता है जब मुझे पता है कि मैं नेमस्पेस टकराव के बारे में चिंता किए बिना खरोंच से पूरी चीज का निर्माण कर सकता हूं। स्क्रैच से बिल्डिंग कुछ ऐसा है जो बहुत से लोग अब नहीं करते हैं। उनके पास एक नौकरी, एक समय सीमा, एक बोनस या देखभाल करने के लिए एक प्रतिष्ठा है। ये प्रकार उच्च दांव के साथ पूर्व-निर्मित कोड का उपयोग करने की प्रवृत्ति रखते हैं, ताकि वे वैश्विक चर का उपयोग करने का जोखिम न उठा सकें।
वैश्विक चर का उपयोग करना बुरा हो सकता है, भले ही वे केवल एक कार्यक्रम के वैश्विक क्षेत्र में उपयोग किए जाते हैं, लेकिन चलो उन लोगों के बारे में मत भूलो जो केवल मज़े करना चाहते हैं और कुछ काम करना चाहते हैं ।
यदि वैश्विक नामस्थान में कुछ चर (<10) का उपयोग करने का मतलब है, कि केवल एक कार्यक्रम के वैश्विक क्षेत्र में उपयोग किया जाता है, तो यह हो। हाँ, हाँ, एमवीसी, निर्भरता इंजेक्शन, बाहरी कोड, ब्ला, ब्ला, ब्ला, ब्ला। लेकिन, यदि आपने अपने कोड का 99.99% नामस्थान और वर्गों में रखा है, और बाहरी कोड सैंडबॉक्स है, तो दुनिया खत्म नहीं होगी (मैं दोहराता हूं, दुनिया खत्म नहीं होगी) यदि आप एक वैश्विक चर का उपयोग करते हैं।
आमतौर पर, मैं यह नहीं कहूंगा कि वैश्विक चर का उपयोग करना है बुरा व्यवहार है । मैं कहूंगा कि एक कार्यक्रम के वैश्विक क्षेत्र के बाहर वैश्विक चर (झंडे और इस तरह) का उपयोग मुसीबत के लिए पूछ रहा है और (लंबे समय में) बीमार की सलाह दी जाती है क्योंकि आप उनके राज्यों का ट्रैक आसानी से खो सकते हैं। इसके अलावा, मैं कहूंगा कि जितना अधिक आप सीखते हैं, उतनी ही कम निर्भरता आप वैश्विक चरों पर होगी क्योंकि आपने उनके उपयोग से जुड़े बग्स पर नज़र रखने का "आनंद" अनुभव किया होगा। यह अकेले आपको उसी समस्या को हल करने के लिए एक और तरीका खोजने के लिए प्रोत्साहित करेगा। संयोग से, यह PHP लोगों को नाम स्थान और कक्षाओं (स्थिर सदस्यों, आदि ...) का उपयोग करने की दिशा में धक्का देता है।
कंप्यूटर विज्ञान का क्षेत्र विशाल है। अगर हम हर किसी को कुछ करने से डरते हैं क्योंकि हम इसे बुरा मानते हैं, तो वे वास्तव में लेबल के पीछे के तर्क को समझने में मज़ा खो देते हैं।
वैश्विक चर का उपयोग करें यदि आप अवश्य करें, लेकिन फिर देखें कि क्या आप उनके बिना समस्या को हल कर सकते हैं। टकराव, परीक्षण और डिबगिंग का मतलब तब अधिक होता है जब आप समस्या का वास्तविक स्वरूप समझ लेते हैं, न कि समस्या का केवल वर्णन।