एक एकल, छोटी, सरल साइट के लिए, मैं सिर्फ एक PHP फ़ाइल में config डालूँगा। इसे सरल रखें। PHP शायद PHP को पार्स करने से तेज़ी से कुछ भी पार्स नहीं करता है। यदि आप एपीसी का उपयोग करते हैं, तो संकलित बाइटकोड भी कैश किया जाता है - हालांकि बाइटकोड को हर अनुरोध के लिए फिर से निष्पादित किया जाता है। एक छोटी कॉन्फ़िगरेशन फ़ाइल के लिए, इस बाइटकोड निष्पादन में बहुत कम समय लगना चाहिए; बहुत बड़ी फ़ाइल के लिए, इसमें थोड़ा अधिक समय लग सकता है।
बड़े कॉन्फिग वाली हाई-ट्रैफिक साइटों के लिए, एपीसी में अपने कॉन्फिग डेटा को कैशिंग करना (उदाहरण के लिए सिंगल एरे के रूप में) एक अच्छा विचार है - बहुत कम से कम, आप वास्तव में निष्पादन के ऊपरी हिस्से को बचाते हैं आपकी config.php फ़ाइल में कथन। गौरतलब है कि फेसबुक ऐसा करता है। जब आप प्रति सेकंड कई अनुरोधों की सेवा कर रहे हैं, तो प्रत्येक अनुरोध पर एक कॉन्फ़िगरेशन फ़ाइल (parse_ini_file, एक XML पार्सर, आदि का उपयोग करके) को पढ़ने के लिए डिस्क पर क्लिक करने का कोई सवाल ही नहीं है।
मेरे वर्तमान प्रोजेक्ट के लिए, हम कई साइटों को होस्ट करते हैं, जिनमें से प्रत्येक की अपनी कॉन्फ़िगरेशन है। प्रत्येक साइट में एक डेटाबेस और एक कॉन्फ़िग फ़ाइल दोनों थे; हालांकि, यह सुनिश्चित करना कि आप हमेशा सही डेटाबेस के साथ सही कॉन्फ़िगरेशन फ़ाइल का उपयोग कर रहे हैं, सिरदर्द बन सकता है। इसके अतिरिक्त, परिवर्तनों के लिए दो स्थानों पर चीजों को बदलने की आवश्यकता होगी - db और config. एक या दूसरे को भूलने से हमेशा समस्याएँ होती हैं, और यह बहुत बार होता है।
हमने कॉन्फ़िगरेशन को डेटाबेस में स्थानांतरित कर दिया है, ताकि आप संभवतः एक डीबी को इसके सही कॉन्फ़िगरेशन से अलग न कर सकें, और किसी भी कोड परिवर्तन के लिए केवल डेटाबेस को अपडेट करने की आवश्यकता होती है। कॉन्फ़िगरेशन तालिका से डेटा भी एपीसी में आक्रामक रूप से कैश किया जाता है, इसलिए हम इसे शायद ही कभी पूछते हैं।
तो, संक्षेप में:
- छोटी साइट :बस एक config.php फ़ाइल का उपयोग करें
- बहुत बड़ी साइट :एपीसी में कैशे
- एकाधिक साइटें :प्रशासन उपरि को कम करने के लिए डेटाबेस में कॉन्फ़िगरेशन को स्टोर करें; डेटाबेस हिट को कम करने के लिए एपीसी में कैशे