मैं PHP में मूल रूपरेखा तैयार कर रहा हूं। मुझे वर्तमान पृष्ठ के लिए डेटा को विभिन्न कार्यों में पास करने की आवश्यकता है, उन्हें संशोधित करने और सहेजने की अनुमति दें, और उसके बाद इसे प्रदर्शित करने के लिए पृष्ठ पर वापस भेज दें। मैं मूल रूप से $GLOBALS['data']
जैसे वैश्विक चर में डेटा संग्रहीत करने की योजना बना रहा था, लेकिन मुझे लगता है कि वैश्विक का उपयोग करना एक बुरा विचार है। इसलिए मैं सोच रहा हूं कि इसके बजाय मैं सिस्टम क्लास में स्थिर चर डाल दूंगा, और इसे system::$data
का उपयोग करके एक्सेस करूँगा। तो, मेरा सवाल है, जो बेहतर होगा और क्यों?PHP बनाम वैश्विक बनाम स्थिर चर
यह:
$GLOBALS['data'] = array();
$GLOBALS['data']['page_title'] = 'Home';
echo $GLOBALS['data']['page_title'];
या इस:
class system
{
public static $data = array()
}
function data($new_var)
{
system::$data = array_merge(system::$data, $new_var);
}
data(array('page_title' => 'Home'));
echo system::$data['page_title'];
भयानक लेख –
क्या कोई प्रदर्शन अंतर है? ऐसा लगता है कि ग्लोबल एक स्थिर चर का उपयोग करने के रूप में कुशल नहीं हैं। –
@ केली ** इससे कोई फर्क नहीं पड़ता। ** गंभीरता से। शायद एक अंतर है, लेकिन यह अप्रासंगिक रूप से अप्रासंगिक रूप से छोटा है। आपकी सर्वोच्च प्राथमिकता उस कोड को लिखना चाहिए जो रखरखाव, तार्किक, पठनीय और अन्य सभी चीजें कोड होना चाहिए। इस उद्देश्य के लिए ग्लोबल्स और 'सार्वजनिक स्थैतिक' चर दोनों भयानक हैं। – deceze