मुझे पता है कि यह वास्तव में पुराना है, लेकिन सुधार के लिए एक जगह है।
आपको केवल वैश्विक के बजाय $ GLOBALS ['श्रेणियों'] का उपयोग करने पर विचार करना चाहिए।
इसके लिए दो कारण हैं:
- हमें
global $categories;हर बार लिखना नहीं है ।
- यह स्पष्ट है कि हम वैश्विक उपयोग कर रहे हैं और फिर नहीं।
इस कोड पर विचार करें:
global $categories;
// a lot of PHP code here
<?php print_r ($categories) ?>
केवल अगर हम वैरिएबल का उपयोग करने से पहले वैश्विक स्थिति को शुरू करते हैं, तो यह बताना बहुत मुश्किल है कि यह वैश्विक है या नहीं। और आपके पास मौजूद किसी भी टेम्पलेट फ़ाइल में इसे दोहराना न भूलें।
इसके लिए नामकरण सम्मेलनों का उपयोग करना संभव है, लेकिन एक बेहतर तरीका है, मेरी राय में।
का उपयोग करने पर विचार करें $GLOBALS['categories']।
हमें केवल अपने वैरिएबल को एक बार फंक्शन्स में global $categoriesलगाना है। फिर बिना सोचे समझे । और हम देख सकते हैं कि यह एक वैश्विक है।
print_r ($GLOBALS['categories']);
इस स्थिति में प्रदर्शन का मुद्दा कोई मुद्दा नहीं है। मैं सारा गोलेमोन ( लिंक ) को उद्धृत करूंगा :
$ GLOBALS सरणी के आपके उपयोग के लिए इसका क्या अर्थ है? यह सही है, वैश्विक कीवर्ड तकनीकी रूप से तेज है। अब, मैं यहाँ एक बात के बारे में स्पष्ट होना चाहता हूँ। आपके ग्लोबल्स को स्थानीयकृत [संकलित चर] के रूप में उपयोग करके दी गई मामूली गति की वहनशीलता को पांच वर्षों में आपके कोड को देखने की स्थिरता के खिलाफ गंभीरता से तौला जाना चाहिए और यह जानना चाहिए कि $ foo वैश्विक दायरे से आया है। something_using ($ वैश्विक [ 'foo']); क्या आपके लिए वैश्विक $ foo की तुलना में नीचे लाइन स्पष्ट होगी; / * बंच कोड * / something_using ($ फू); पैसे के लिहाज से और मूर्ख मत बनो ..