मुझे एक अच्छा कॉन्फ़िगरेशन फ़ाइल प्रारूप चाहिए। मैं टेबल स्कीमा डालने की योजना बना रहा हूं। सिम्फनी की तरह, रेल पर रूबी इत्यादि। कॉन्फ़िगरेशन फ़ाइल के लिए सबसे अच्छा फ़ाइल प्रारूप क्या है? यामएल या एक्सएमएल या JSON एन्कोडेड फ़ाइल? इस उद्देश्य के लिए सबसे अच्छा कौन सा है?कॉन्फ़िगरेशन फ़ाइल के लिए सबसे अच्छा फ़ाइल प्रारूप क्या है?
उत्तर
जैसा कि अन्य ने कहा है, आपके पास बहुत सारे विकल्प हैं। बस आविष्कार न करें (यानी पार्सर्स लिखें) ऐसी चीज स्वयं जब तक कि आपके पास वास्तव में ऐसा करने का वास्तव में अच्छा कारण नहीं है (किसी के बारे में नहीं सोच सकता)।बस अपने विकल्पों का मूल्यांकन:
- आप इस डेटा (किसी अन्य भाषा के साथ) अपने आवेदन के बाहर कहीं भी उपयोग करने के लिए
- आप चाहते हैं की जरूरत है उन (या अपने आप को) एक सरल पाठ संपादक का उपयोग फ़ाइल को संपादित करने में सक्षम हो
- आप पीछे की ओर भाषा का इस्तेमाल
उदाहरण के लिए के पुराने संस्करणों के साथ संगतता की आवश्यकता है, पीएचपी बहुत आसान serialize() और unserialize() फ़ंक्शन देता है। प्रारूप, हालांकि, मनुष्यों द्वारा आसानी से पठनीय/संपादन योग्य नहीं है (एक्सएमएल भी पढ़ना मुश्किल हो सकता है, लेकिन PHP प्रारूप जितना कठिन नहीं है। पायथन का अचार मॉड्यूल भी बदतर है।)। यदि आपको कभी भी अन्य भाषाओं के साथ डेटा तक पहुंचने की आवश्यकता है, तो यह एक खराब विकल्प है। और दूसरों के बारे में सोचें - मैंने हाल ही में एक पाइथन परियोजना में होर्ड परियोजना से PHP क्रमबद्ध डेटा को पार्स करने के लिए टोपी बनाई है! जेएसओएन एक बेहतर विकल्प है क्योंकि इसकी मानव-पठनीय (यदि इसकी "सुंदर मुद्रित", कॉम्पैक्ट किए गए रूप में नहीं है!), मानव संपादन योग्य और हर प्रमुख भाषा में आजकल JSON- समर्थन है। हालांकि, आप पीछे की संगतता खो देंगे, उदा। पायथन के साथ, JSON संस्करण 2.6+ की आवश्यकता है।
मैं उत्तर के एक हिस्से के साथ समस्या उठाता हूं: एक्सएमएल मनुष्यों द्वारा आसानी से पठनीय/संपादन योग्य नहीं है? यह इसके बड़े फायदे हैं। (यह जेएसओएन की तुलना में अधिक वर्बोज़ है, और JSON के साथ कुछ भी गलत नहीं है) – ViennaMike
ठीक है, आप सही हैं कि यह PHP के क्रमबद्ध प्रारूप या पायथन अचार की तुलना में अधिक पढ़ने योग्य है। लेकिन यह भी अत्यंत verbose है, जो लिखते समय पढ़ने और बोझिल जब मुझे विचलित लगता है। किसी कारण के लिए "एक्सएमएल संपादकों" नामक एक पूरी सॉफ्टवेयर श्रेणी है;) – c089
मैंने जवाब को "आसानी से नहीं" पढ़ने के लिए बदल दिया। – c089
आप वहां डालने की क्या योजना बना रहे हैं? प्रत्येक नई लाइन
- कस्टम टैग के साथ एक्सएमएल
- कुंजी-मान जोड़ों:
आप विकल्पों का भार है?
मैं SQLite को कॉन्फ़िगरेशन के रूप में अनुशंसा नहीं करता क्योंकि आपको एप्लिकेशन सेट अप करने के लिए SQLite क्लाइंट टूल की आवश्यकता होगी और आपको SQL क्वेरी से परिचित होने की भी आवश्यकता होगी। – RaYell
*.ini
कि
[MyApp]
var1 = "foo"
var2 = "bar"
[MyPlugin]
var1 = "qwe"
आप आसानी से पढ़ सकते हैं का उपयोग कर parse_ini_file()
$config = parse_ini_file('/path/to/config/file', true);
echo $config['MyApp']['var2'];
ग्रेट उत्तर। विशेष रूप से यदि दीर्घकालिक भाषा का दायरा PHP के रूप में रहता है। मैं अपने अनुप्रयोगों में अपने "लीवर और नियंत्रण के knobs" के रूप में हर समय .ini फ़ाइलों का उपयोग करें। – pimbrouwers
क्या आईएनआई मल्टीलाइन स्ट्रिंग का समर्थन करता है? – starbeamrainbowlabs
जूमला ने हाल ही में आईएनआई फाइलों से JSON एन्कोडेड फ़ाइलों में स्विच किया। json_encode()
और json_decode()
का उपयोग करके एन्कोडिंग और डिकोडिंग जेसन आईएनआई फ़ाइलों को पढ़ने और लिखने से बेहतर प्रदर्शन करता है।
हालांकि कोई कमी है: जेसन आसानी से मानव पठनीय नहीं है। आपको अपनी कॉन्फ़िगरेशन फ़ाइल को एन्कोड करने के लिए एक php स्क्रिप्ट का उपयोग करने की आवश्यकता है। जब आप अपनी वेबसाइट के व्यवस्थापक भाग में अपनी कॉन्फ़िगर लिखना चाहते हैं तो आप इस समाधान का अच्छी तरह से उपयोग कर सकते हैं।
मैं कहूंगा कि JSON बहुत अधिक मानव-पठनीय है (मानक PHP क्रमिकरण प्रारूप के विपरीत)। –
JSON मेरी राय में, एक अच्छा विकल्प है। आप इस तरह के रूप में अपने डेटाबेस स्कीमा निर्धारित कर सकते हैं:
{
table1: {
id: {
type:"int",
autoincrement:true
},
some_field: {
type:"string",
}
},
table2: { // etc
}
}
तो बस एक PHP सरणी में इस बारी करने के json_decode का उपयोग करें।
उदा।
$tables = json_decode($json_text);
foreach ($tables as $tablename => $t) {
foreach ($t as $fieldname => $field) {
echo "Table {$tablename} has a record called {$fieldname}";
}
}
यह मुद्रित होगा: Table table1 has a record called id Table table1 has a record called some_field
JSON ज्यादा मेरी राय में XML, और json_encode से साथ काम करना आसान है/डिकोड बहुत तेजी से वहाँ बहुत कम भूमि के ऊपर है। मेरी राय में, यह एक्सएमआई फाइलों की तुलना में एक्सएमएल की तुलना में बहुत अधिक पठनीय है और जटिल डेटा संरचनाओं के साथ बेहतर है। कुछ लोग वाईएएमएल पसंद करते हैं, लेकिन वाक्यविन्यास में वास्तव में बहुत अंतर नहीं है।
मेरी प्राथमिकता
- अच्छी तरह से प्रलेखित php फ़ाइल है उपयोगकर्ता विशिष्ट विन्यास के लिए
- डेटाबेस
जैसे वर्डप्रेस और अनगिनत अन्य php अनुप्रयोगों
का उपयोग लोग वास्तव में आप दे दिया है पहले से ही अच्छे जवाब। व्यक्तिगत रूप से मुझे आपकी दस्तावेज़ रूट के बाहर .ini फाइलें पसंद हैं। यह भी सुनिश्चित करें कि (यदि आप लिनक्स होस्टिंग एनवी पर हैं) कि आपकी फ़ाइल केवल आपके वेब सर्वर द्वारा पठनीय है और लिखने योग्य नहीं है।
आप बस आईएनआई फ़ाइल को पार्स कर सकते हैं और अपनी कॉन्फ़िगरेशन सेटिंग्स का उपयोग कर सकते हैं। (यह है कि यदि आप PHP या तो जैसी भाषा का उपयोग कर रहे हैं, तो जावास्क्रिप्ट ect यहां काम नहीं करेगा।)
लेकिन ऐसा लगता है जैसे उन्होंने कहा। यह सब इस बात पर निर्भर करता है कि आप अपनी कॉन्फ़िगरेशन फ़ाइल में कौन सा डेटा रखना चाहते हैं और आप इसके साथ क्या करना चाहते हैं।
सादर कॉनरोड ग ',)
- 1. पायथन: डीसेंट कॉन्फ़िगरेशन फ़ाइल प्रारूप
- 2. एकाधिक कॉन्फ़िगरेशन फ़ाइल उदाहरणों को संभालने का सबसे अच्छा तरीका?
- 3. कॉन्फ़िगरेशन फ़ाइल
- 4. सबसे अच्छा, सबसे सरल AJAX फ़ाइल अपलोडर क्या है?
- 5. सबसे अच्छा तरीका है csv फ़ाइल
- 6. सबसे अच्छा तरीका है catalina.bat फ़ाइल
- 7. खेलों के लिए 3 डी फ़ाइल प्रारूप
- 8. लिनक्स कॉन्फ़िगरेशन फ़ाइल लाइब्रेरी
- 9. आईओएस एप्लीकेशन कॉन्फ़िगरेशन फ़ाइल
- 10. जावा एप्लिकेशन कॉन्फ़िगरेशन फ़ाइलों के स्थान के लिए सबसे अच्छा अभ्यास क्या है?
- 11. कॉन्फ़िगरेशन फ़ाइल
- 12. वर्तमान में सबसे अच्छा HTML/CSS/जावास्क्रिप्ट कॉन्फ़िगरेशन क्या है?
- 13. वैध फ़ाइल नाम चेक। सबसे अच्छा तरीका क्या है?
- 14. कॉन्फ़िगरेशन फ़ाइल के मेलसेटिंग
- 15. कॉन्फ़िगरेशन फ़ाइल
- 16. कॉन्फ़िगरेशन फ़ाइल
- 17. कॉन्फ़िगरेशन फ़ाइल
- 18. छवि फ़ाइल में किसी बिंदु का पता लगाने के लिए सबसे अच्छा एल्गोरिदम क्या है?
- 19. सी # लॉग फ़ाइल बनाने के लिए सबसे अच्छा तरीका
- 20. जावा में, एक फ़ाइल को जोड़ने के लिए सबसे अच्छा/सुरक्षित पैटर्न क्या है?
- 21. आईट्यून्स आर्टवर्क फ़ाइल का प्रारूप क्या है?
- 22. कॉन्फ़िगरेशन फ़ाइल में डेटाबेस फ़ाइल के लिए सापेक्ष पथ
- 23. आईओएस में छवियों (पीएनजी, जेपीजी) का उपयोग करने के लिए सबसे अच्छा प्रारूप क्या है?
- 24. फ़ाइल अपलोड करने के लिए सबसे सुरक्षित तरीका क्या है?
- 25. जावा - जार फ़ाइल के लिए स्प्रिंग प्रॉपर्टी फ़ाइल कॉन्फ़िगरेशन
- 26. कॉन्फ़िगर फ़ाइल प्रारूप
- 27. क्रोम के लिए समर्थित ऑडियो फ़ाइल प्रारूप?
- 28. कस्टम कॉन्फ़िगरेशन फ़ाइल के लिए कॉन्फ़िगरेशन को कैसे परिवर्तित करें?
- 29. संगीतकार और कॉन्फ़िगरेशन फ़ाइल
- 30. वार्निश कॉन्फ़िगरेशन फ़ाइल कहां है?
तुम्हें पता है कि अगर आप अधिक प्रश्न स्वीकार करते हैं, आप और अधिक प्रतिनिधि, है ना? –