2010-01-06 16 views
5

तो मैं प्लगइन विकसित कर रहा हूं जो get_option फ़ंक्शंस का उपयोग करके डेटाबेस को इंटरैक्ट और हटाएं।

मैंने अब कुछ ट्यूटोरियल देखे हैं जो डेटाबेस से मूल्य प्राप्त करने के वैश्विक $ wpdb तरीके का उपयोग कैसे करें।

दोनों के बीच क्या अंतर है, और दूसरा एक से बेहतर है?

उत्तर

2

वर्डप्रेस हेल्पर फ़ंक्शंस का उपयोग (get_option() तक सीमित नहीं) यह सुनिश्चित करेगा कि आपका प्लग आगे बढ़ने योग्य होगा जब वर्डप्रेस के नए संस्करण में परिवर्तन किए गए हैं जो संभावित रूप से आपके कोड को प्रभावित कर सकते हैं।

आपको अपने स्वयं के कोडिंग पर विचार करने से पहले अपने सहायकों को समझने और उपयोग करने की अनुशंसा की जाती है।

+0

हाँ की तरह अपनी() छोरों में, get_option का उपयोग करने की सलाह दी ताकि डाटाबेस के बजाय एक कॉल आप 20 कॉल की तरह मिलता है। – Tosh

0

वैश्विक $ wpdb चर get_option() फ़ंक्शन से अधिक शक्तिशाली है क्योंकि यह आपको सभी प्लगइन तालिकाओं सहित वर्डप्रेस में किसी भी तालिका से डेटा को कुशलतापूर्वक और पुनर्प्राप्त करने की अनुमति देता है। यह आपको विकल्प तालिका तक पहुंच प्राप्त करने से अधिक शक्ति देता है।

आप get_option() का उपयोग जब आप विशेष रूप से विकल्प तालिका से एक विकल्प, प्लगइन विकल्पों के लिए इस्तेमाल कर रहे हैं पुन: प्राप्त करने चाहिए। इस फ़ंक्शन के अन्य बदलाव add_option, update_option, और delete_option हैं। सभी संबंधित कार्यों को विशेष रूप से प्लगइन विकल्पों के लिए उपयोग किया जाना चाहिए।

0

मैंने पहले दोनों का उपयोग किया है। यदि आप सहायक कार्यों का उपयोग कर सकते हैं, तो आपको ऐसा करना चाहिए। यदि आपको कुछ बहुत ही कस्टम करने की ज़रूरत है तो आप वैश्विक का उपयोग कर सकते हैं। मैं केवल वैश्विक का उपयोग करता हूं अगर मुझे अपनी खुद की क्वेरी

+0

मैंने वैश्विक '$ wpdb' का उपयोग करके 2.5 में एक प्लगइन लिखा था, साइट स्वामी मेरी चिंता के बिना 2.6 तक अपग्रेड करने का निर्णय लेता है और पूरी चीज अराजकता को बदल देती है क्योंकि संशोधन शुरू किए गए थे और पृष्ठों/पोस्टों की प्रतियां जंगली हो गई थीं। ऐसे कई छोटे उदाहरण हैं जो मुझे '$ wpdb' से दूर फेंक देते हैं –

3

प्लगइन विकल्प या पोस्ट से संबंधित हल्के वजन डेटा को संग्रहीत करने के लिए, get_option(), get_post_meta(), और उनके संबंधित फ़ंक्शन आदर्श हैं। संबंधपरक डेटाबेस गतिविधि के लिए, $ wpdb सबसे अच्छा विकल्प है। यहां बताया गया है:

$ wpdb डेटाबेस के साथ बातचीत के लिए ezSQL PHP क्लास पर आधारित एक कक्षा है। कुछ विशेषताओं में शामिल हैं:

1) $ wpdb-> तैयार(), $ wpdb-> insert(), और $ wpdb-> अद्यतन() विधियों का उपयोग करके एसक्यूएल इंजेक्शन संरक्षण प्रदान करता है। get_option() एक सहायक फ़ंक्शन है जो आपको एक कुंजी => वैल्यू जोड़ी करने की अनुमति देता है।

2) $ wpdb का उपयोग करना आसान है। यह विभिन्न रूपों में रिकॉर्ड सेट वापस कर सकता है: $ wpdb-> get_results ($ sql, ARRAY_A) एक ऐरे या एसोसिएटिव Arrays जिसमें कॉलम नाम कुंजी के साथ लौटाई पंक्तियां होती हैं। $ wpdb-> get_results ($ sql) ऑब्जेक्ट के गुणों के रूप में कॉलम नाम के साथ ऑब्जेक्ट की सरणी वापस कर देगा। $ wpdb-> get_var ($ sql) एक स्केलर परिणाम (क्वेरी से डेटा सेट की पहली पंक्ति का पहला स्तंभ) वापस करेगा। $ wpdb-> get_row ($ sql) ऑब्जेक्ट के रूप में एक पंक्ति को वापस कर देगा।

3) $ wpdb आप, डेटाबेस में किसी तालिका के साथ बातचीत करने भी $ wpdb-> क्वेरी ($ एसक्यूएल) का उपयोग कर मुक्त रूप प्रश्नों प्रदर्शन की अनुमति देता है

4) वर्डप्रेस संभावना बीमा होगा कि $ wpdb के साथ आपकी सहभागिता अगर वे MySQL के अलावा डेटाबेस के लिए समर्थन जोड़ते हैं तो उन्हें बदलने की आवश्यकता नहीं होगी। मूल ezSQL कक्षा का उद्देश्य कुछ क्रॉस डेटाबेस समर्थन प्रदान करना था।

तो, यदि आपको किसी रिलेशनशिप तरीके से डेटा से निपटने की आवश्यकता है, तो $ wpdb वास्तव में वर्डप्रेस के लिए एक उत्कृष्ट विकल्प है।

get_option() और get_post_meta() get_post_meta() के मामले में एक विशिष्ट पोस्ट से संबंधित या get_option() के साथ एक महत्वपूर्ण पोस्ट से संबंधित डेटा की थोड़ी मात्रा से निपटने का एक आसान तरीका प्रदान करते हैं।

इनके बारे में अच्छी चीजों में से एक यह है कि आप एक धारावाहिक सरणी या ऑब्जेक्ट को सहेज सकते हैं और उस डेटा को सरणी या ऑब्जेक्ट के रूप में वापस ले सकते हैं। यह आपको डेटा के फ़ील्ड से निपटने का एक बहुत आसान तरीका देता है जैसे कि आपके पास डेटाबेस तालिका थी। हालांकि, यदि आपको तालिकाओं के बीच डेटा को जोड़ने या क्रमबद्ध डेटा पर गणना, गिनती या अन्य डेटाबेस गणना करने की आवश्यकता है, तो यह ठीक से काम नहीं करता है। मैं उन मामलों, एक पूरी तरह से विकसित टेबल और $ wpdb बेहतर सेवा करेगा।

0

मैं अपने विकास में दोनों का उपयोग करता हूं।

  • get_option() स्थिर या एक जानकारी के लिए काफी आसान है काटता
  • $wpdb बहु-आयामी जानकारी

के भंडारण के लिए बेहतर प्राथमिक अंतर यह है कि के लिए हड़पने और जाओ जानकारी (लाइसेंस कुंजियों की तरह है , समाप्ति तिथियां, और स्थिर जानकारी) get_option() वास्तव में आसान है। यह ट्रिम, तेज़, और उपयोग करने में वास्तव में आसान है।

लेकिन, मैं प्लगइन विकसित करता हूं जो उपयोगकर्ता डेटा का प्रबंधन करता है और सबमिशन बनाता है, और इस get_option() जैसे मामलों में बहुमुखी प्रतिभा की पेशकश नहीं की जाती है, मुझे बहुत सारे यौगिक सरणी लिखने या एकाधिक विकल्पों को ट्रैक करने की कोशिश किए बिना आवश्यकता होती है। बहु-आयामी जानकारी के लिए, या प्लगइन के लिए क्रॉस-रेफरेंसिंग संबंधित डेटा प्रविष्टियों के लिए, $wpdb बहुत बेहतर है - आप अपनी खुद की सारणी बना सकते हैं और व्यवस्थित कर सकते हैं कि आप कैसा पसंद करते हैं।

:)

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