मुझे लगता है कि कॉन्फ़िगरेशन के लिए स्थिरांक का उपयोग करना सबसे अच्छा है। उदाहरण के वर्ग स्थिरांक का उपयोग कर के लिए:
class Config {
const
max_photos = 30,
something_else = 100,
// ...
;
}
echo Config::max_photos;
अगर आप PHP 5.3 है आप भी उन्हें वैश्विक स्थिरांक के रूप में निर्धारित कर सकते हैं:
const MAX_PHOTOS = 30;
echo MAX_PHOTOS;
लेकिन मुझे लगता है यह अब तक कम स्वच्छ और सरल है।
जाहिर है यह केवल तब तक काम करेगा जब तक आप केवल स्थिरांक संग्रहित नहीं कर रहे हैं, यानी स्केलर, गैर-अभिव्यक्ति मान। यदि आपकी कॉन्फ़िगरेशन में उदाहरण के लिए सरणी हैं, तो यह अब और काम नहीं करेगा। इस मामले में मैं सार्वजनिक स्थिर गुणों के साथ एक कॉन्फ़िग वर्ग का प्रयोग करेंगे:
class Config {
public static $per_page = 30;
public static $array = array(...);
}
echo Config::$per_page;
बाद बहुत $config
सरणी दृष्टिकोण के समान है, लेकिन लाभ है (या इस एक दोष हो सकता है?) उस वर्ग पहुँचा जा सकता है कार्यों और वर्गों सहित हर जगह से, जबकि सरणी केवल वैश्विक अंतरिक्ष में पहुंच योग्य नहीं है जब तक कि आप इसे global $config;
का उपयोग करके कार्यों/कक्षाओं में आयात न करें।
स्थिर मूल्यों के लिए +1 स्थिरांक, तो आपको आश्वस्त किया जा सकता है कि वे हमेशा सेट, अपरिवर्तनीय और लगातार होते हैं; fwiw स्थिर वर्ग चर प्रदर्शन प्रदर्शन हिट लेते हैं और रनटाइम पर बदला जा सकता है। अंत में, किसी को भी एक कॉन्फ़िगरेशन ini या xml फ़ाइल का सुझाव देता है - सरल प्रतिक्रिया है, समय बर्बाद क्यों करें और अतिरिक्त लोड में जोड़ें जो आवश्यक नहीं है (पढ़ना पर्सिंग आदि)। – nathan
धन्यवाद, हाँ, मैं सरणियों भी मिला: $ सेटिंग्स [ 'भाषा'] = सरणी ( 'eng' => 'अंग्रेजी में', 'रस' => 'По-русски', 'अक्षांश' = > 'लातविस्की' ); $ सेटिंग्स ['site_title'] = _ ("साइट शीर्षक"); $ सेटिंग्स ['default_lng'] = 'eng'; /** * Мин। количество гололов */ $ सेटिंग्स ['min_votes'] = 3; /** * Кол-во пользователей, после которого регистрация только по приглашениям। */ $ सेटिंग्स ['आमंत्रण'] = 100000; // 25000; /** * Время истечения приглашения */ $ सेटिंग्स ['login_timeout'] = 86400 * 3; मुझे लगता है, यह संस्करण बेहतर है, मदद के लिए सभी को धन्यवाद! – ideea