2010-11-18 8 views
5

में कॉन्फ़िगर चर को संभालने का सही तरीका PHP में मैं अपनी पहली मूल बेयर हड्डियों एमवीसी पैटर्न सेटअप लिख रहा हूं। मुझे पता है कि वैश्विक चर खराब हैं, और मुझे पता है कि मैं नहीं चाहता कि मेरे सभी वर्गों में मेरे सभी कॉन्फ़िगरेशन वर्रों तक पहुंच हो।एमवीसी सेटअप (PHP)

मेरे पास एक settings.php फ़ाइल है जो मैं अपनी डीबी कनेक्शन जानकारी, निर्देशिका संरचना जानकारी, ईमेल पते आदि जैसे स्थिरांक का एक गुच्छा परिभाषित करना चाहता हूं। यह एक केंद्रीकृत स्थान होगा जो मेरी सभी महत्वपूर्ण जानकारी रखता है।

कॉन्फ़िगरेशन क्लास को कार्यान्वित करने का सबसे अच्छा तरीका क्या है ताकि मेरे नियंत्रक और मॉडल के लिए मेरे प्रत्येक बेस क्लास में केवल कॉन्फ़िगर वर्र्स तक पहुंच हो? उदाहरण के लिए, मेरे मॉडल बेस क्लास में डीबी कनेक्शन जानकारी तक पहुंच होनी चाहिए।

असल में मैं सिर्फ यह पूछ रहा हूं कि कैसे कोई भी अपने स्वयं के एमवीसी सेटअप को रोल करता है, वैश्विक वैरिएबल घोषित किए बिना कॉन्फ़िगरेशन जानकारी को संभालता है, जैसे कि हम प्रक्रियात्मक दिनों में वापस आते थे।

धन्यवाद।

+0

इसे पीएमवीसी कहा जाता है। उच्च सामान्य होने पर ज्ञापन से बचने वाला वैश्विक चर कुछ हद तक गैरकानूनी है। – mario

+0

आह आदमी कोई अच्छा जवाब नहीं :( –

उत्तर

0

मैंने अपना स्वयं का एमवीसी सेटअप लॉन्च किया। (अभी भी मजबूत जा रहा है। इसे खुला स्रोत हो सकता है)। जिस तरह से मैं ऐसा करता हूं वह एक इनिट स्क्रिप्ट है जो उन सभी स्थिरांक को एक नियंत्रित वर्ग में पास करता है।

नियंत्रण वर्ग सिंगलटन है। तो किसी भी समय किसी अन्य वर्ग को इसकी पहुंच की आवश्यकता होती है, इसे केवल नियंत्रण वर्ग का मौजूदा उदाहरण मिलता है और सभी चर इसके से उपलब्ध होते हैं।

2

आपको इस पर उत्तर का एक गुच्छा प्राप्त करने जा रहे हैं क्योंकि यह मूल रूप से वरीयता के लिए उबाल जाता है।

व्यक्तिगत रूप से, ive एक कॉन्फ़िगरेशन सरणी का उपयोग किया जाता है। उदाहरण:

$conf['db']['username'] = "username"; 
$conf['db']['password'] = "password"; 

फिर बस उन टुकड़ों को पार करें जिन्हें आपको जाना है जहां उन्हें जाना है।

संबंधित मुद्दे