आम तौर पर बोलना मुझे पसंद है .iniया XML विन्यास फाइल। बड़ी प्रणालियों में, अक्सर डेवलपर के अलावा किसी अन्य व्यक्ति को कॉन्फ़िगरेशन मान को बदलने की आवश्यकता होगी, संभवतः एक डीबीए या एक sysadmin। अधिकांश DBA और sysadmins मुझे पता है कि किसी भी समस्या को सरल PHP स्क्रिप्ट के माध्यम से नेविगेट करने में कोई समस्या नहीं होगी, लेकिन अगर वे नहीं करते तो मैं पसंद करूंगा। वहाँ एक छोटी सी गलती काफी तरीकों से पूरे आवेदन को नुकसान पहुंचा सकती है।
लेकिन छोटे सिस्टम में, कॉन्फ़िगरेशन के लिए PHP स्क्रिप्ट का उपयोग करना बेहद सुविधाजनक है। मैं आज AWS SDK के साथ खेल रहा था , जो विन्यास के लिए PHP स्क्रिप्ट का उपयोग करता है:
CFCredentials::set(array(
'development' => array(
'key' => 'xxx',
'secret' => 'xxxx',
'default_cache_config' => sys_get_temp_dir(),
'certificate_authority' => true
),
'@default' => 'development'
));
ए हार्डकोड करने के बजाय default_cache_config, मैं सिस्टम अस्थायी पास कर रहा हूं, और वह हर उस प्रणाली में काम करेगा जिसे मैं स्क्रिप्ट तैनात करता हूं। यह स्क्रिप्ट अवधारणा का एक छोटा सा प्रमाण है जिसे लगभग 10 डेवलपर्स को पारित किया जाएगा, और मैं चाहता हूं कि वे इसे वैसे ही चलाएं, जैसा कि सोचने के लिए बहुत कुछ है। यदि प्रोटोटाइप विकसित होता है, तो मैं इसे अपने एक्सएमएल कॉन्फ़िगरेशन क्लास (और जाहिर तौर पर फाइलसिस्टम कैश पर भरोसा नहीं करूंगा) के साथ इसे सख्त कर दूंगा।
relate to one well-defined, portable syntax for configurationमुझे वह नहीं मिला। ini फ़ाइलों में एक अच्छी तरह से परिभाषित और पोर्टेबल सिंटैक्स है। प्रत्येक.conf.phpफ़ाइल की अपनी संरचना होती है, अधिकांश सरणी आधारित होती हैं, लेकिन यह एक आईएनआई फ़ाइल से अलग नहीं होती है।