मेरे प्लगइन के लिए एपीआई कैसे बनाएं?


20

मैं वर्डप्रेस के लिए प्लगइन्स विकसित कर रहा हूं, अधिकांश प्लगइन्स मैंने दो या तीन वर्गों का उपयोग किया है, इसलिए यह बुद्धिप्रस या वूकॉम के रूप में विशाल नहीं है।

मैं दो ओपन सोर्स प्लगइन्स विकसित करने की योजना बना रहा हूं ताकि किसी तरह की जटिल प्रणाली को वितरित किया जा सके (फिलहाल विवरण साझा नहीं किया जा सकता है, लेकिन बाद में विकास के दौरान) जहां अन्य डेवलपर्स कार्यों को अनुकूलित कर सकते हैं और उनके लिए सिस्टम को बुद्धिपत्र और WooCommerce के समान होना चाहिए। ।

जैसा कि मैं उन प्लगइन्स फ़ाइलों की जांच करता हूं और महसूस करता हूं कि उन्होंने अपने स्वयं के कार्यों और फ़िल्टर को पंजीकृत किया है जो डेवलपर्स आवश्यकतानुसार संशोधित कर सकते हैं। हालांकि, मेरी समस्या पूरी तरह से समझने में असमर्थ हो रही है, मुझे एक प्लगइन कैसे लिखना चाहिए जहां दूसरों के कार्यों को ओवरराइड करने के साथ-साथ स्वयं को जोड़ने के लिए लचीलापन है।

मुझे पता है कि एक निश्चित उत्तर देना मुश्किल है, लेकिन मुझे किसी तरह के स्टार्ट-अप गाइड की जरूरत है ताकि मैं सही दिशा में जा सकूं। क्या मुझे अपने कार्यों और फ़िल्टर को पंजीकृत करने की आवश्यकता है? यदि हाँ तो कैसे? यदि नहीं, तो मेरे विकल्प क्या हैं?

आपकी सलाह मुझे बहुत मदद करेगी ... धन्यवाद

जवाबों:


25

किसी प्लगइन या थीम में आपके द्वारा प्रस्तुत एपीआई उस विशिष्ट कोड के तर्क पर निर्भर करता है। शायद कोई गाइड नहीं है जो सभी स्थितियों पर लागू होता है।

मैं एपीआई के साथ कई प्लगइन्स के लिए एक योगदानकर्ता हूं, और मैंने अब तक जो भी सीखा है वह है:

  1. जब तक आप वास्तव में नहीं जानते कि लोग आपके कोड का उपयोग कैसे करते हैं, तब तक एक एपीआई की पेशकश न करें।

    बिना किसी एपीआई के पहले दो या तीन संस्करण जारी करें। यदि संभव हो तो कोई कस्टम क्रिया या फ़िल्टर, कोई सार्वजनिक तरीके या कार्य (और कभी कोई वैश्विक चर) नहीं। अपने उपयोगकर्ताओं से अनुरोधों की प्रतीक्षा करें, लेकिन कोड को तब तक न जोड़ें जब तक आपको पता न हो कि आपकी आंतरिक कोड संरचना लंबे समय में काम करेगी।

    एक एपीआई की पश्चगामी संगतता बनाए रखना कठिन है । यह अन्य स्थानों पर आवश्यक सुधारों को रोक सकता है। सभी वैश्विक चर के बारे में सोचो वर्डप्रेस आजकल नहीं हटा सकता है। यह एक बुरा एपीआई है, और हम इसके साथ कई वर्षों से फंसे हुए हैं, क्योंकि लोग पहले से ही इसका उपयोग करते हैं

  2. अपने एपीआई को बाकी कोड से अलग करने पर विचार करें (एक विचार के लिए पिछले लिंक देखें)।
    आपका एपीआई न केवल तीसरे पक्ष के डेवलपर्स के लिए उपयोगी होना चाहिए, बल्कि आपके लिए भी। यदि आपके पास नहीं है तो अपने लिए प्रतिबंध न जोड़ें।

  3. अपने कुत्ते का खाना खाएं।
    यदि आप कस्टम हुक प्रदान करते हैं, तो उन्हें अपने कोड में उपयोग करें। यह अन्य डेवलपर्स को उपयोगी उदाहरण देगा, और आप जल्द ही संभावित खामियों को देख सकते हैं।
    यदि वर्डप्रेस कोर आंतरिक रूप से तथाकथित सेटिंग्स एपीआई का उपयोग करेगा, तो हमारे पास आज यह गड़बड़ नहीं होगी। शायद।

  4. मिसाल पेश करके।
    अपने प्लगइन में वर्डप्रेस कोर एपीआई के अच्छे हिस्सों का उपयोग करें। अनाम वस्तुओं , स्थिरांक, वैश्विक चर और किसी भी प्रकार के अप्रत्याशित कोड से बचें ।

  5. सुनिश्चित करें कि आप एक सुसंगत नामकरण योजना का उपयोग कर रहे हैं ( ऐसी कोई गड़बड़ नहीं ), और सब कुछ अपने नामस्थान के नीचे रख दें।

  6. पहले दस्तावेज़ लिखें। बाद में एक नया (ए) एपीआई का हिस्सा जारी करें।
    हर चीज के लिए उपयोगी उदाहरण बनाएं। आप यह देखकर चकित रह जाएंगे कि आपको कितने छेद और अतिरेक मिलेंगे।

  7. कॉलबैक नरक से बचें।
    अपने एपीआई को डिबग करने के लिए विशिष्ट उपकरण प्रदान करें जब चीजें काम न करें जैसा कि उन्हें (लिपियों और शैलियों को शामिल नहीं करना चाहिए)। मैंने AJAX को कैसे डिबग किया जाए , इसके लिए एक उदाहरण लिखा है कि आप यहां कितना रचनात्मक हो सकते हैं। दोबारा जारी करने से पहले इन उपकरणों को आपके दस्तावेज़ में समझाया जाना चाहिए।

  8. वर्डप्रेस कॉलबैक प्रतिमान का एक विकल्प ऑब्जर्वर पैटर्न हो सकता है । यह तीसरे पक्ष के डेवलपर्स के लिए बाधा बढ़ाएगा, लेकिन इसके परिणामस्वरूप दोनों तरफ बेहतर कोड हो सकते हैं।


आपने मुझे जबरदस्त गाइड दिया। यह मुझे सही दिशा में स्टार्ट-अप करने में मदद करेगा। कुछ बिंदु जिनके बारे में मैंने कभी नहीं सोचा था। उन बिंदुओं के लिए धन्यवाद। एक बार विकसित होने के बाद मैं प्लगइन के लिए नया प्रश्न शुरू करूंगा। मुझे वास्तव में आपको विशेषज्ञों से बड़ी मदद की आवश्यकता होगी। वर्तमान में मैं सिस्टम के लिए संरचनात्मक प्रवाह-चार्ट बना रहा हूं। एक बार फिर धन्यवाद .. मैं आपके उत्तर का चयन कर रहा हूं लेकिन अन्य विशेषज्ञों से भी सुनना चाहूंगा।
Pixngngrain
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.