MediaWiki एक्सटेंशन विकास

From binaryoption
Jump to navigation Jump to search
Баннер1
  1. मीडियाविकि एक्सटेंशन विकास: शुरुआती गाइड

परिचय

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

एक्सटेंशन क्या हैं?

मीडियाविकि एक्सटेंशन अनिवार्य रूप से PHP कोड के पैकेज होते हैं जो मीडियाविकि इंस्टॉलेशन में एकीकृत होते हैं। वे कोर मीडियाविकि कोड को संशोधित किए बिना कार्यक्षमता जोड़ते हैं। एक्सटेंशन कई तरह के कार्य कर सकते हैं, जैसे:

एक्सटेंशन का उपयोग करने के कई फायदे हैं। सबसे पहले, वे कोर मीडियाविकि कोड को संशोधित करने की आवश्यकता के बिना कार्यक्षमता जोड़ते हैं। यह महत्वपूर्ण है क्योंकि कोर कोड को संशोधित करने से अपडेट के दौरान समस्याएं हो सकती हैं। दूसरा, एक्सटेंशन को आसानी से स्थापित और अनइंस्टॉल किया जा सकता है। तीसरा, एक्सटेंशन को अन्य मीडियाविकि इंस्टॉलेशन के साथ साझा किया जा सकता है।

विकास के लिए आवश्यक उपकरण

मीडियाविकि एक्सटेंशन विकसित करने के लिए, आपको निम्नलिखित उपकरणों की आवश्यकता होगी:

  • **एक टेक्स्ट एडिटर:** आप विजुअल स्टूडियो कोड, सबलाइम टेक्स्ट, एटम या नोटपैड++ जैसे किसी भी टेक्स्ट एडिटर का उपयोग कर सकते हैं।
  • **PHP:** मीडियाविकि PHP में लिखा गया है, इसलिए आपको PHP के बारे में कुछ ज्ञान होना चाहिए। PHP सीखना एक अच्छी शुरुआत होगी।
  • **एक वेब सर्वर:** आपको अपने एक्सटेंशन का परीक्षण करने के लिए एक वेब सर्वर की आवश्यकता होगी। आप अपाचे या nginx का उपयोग कर सकते हैं।
  • **एक डेटाबेस:** मीडियाविकि डेटाबेस में डेटा संग्रहीत करता है, इसलिए आपको एक डेटाबेस की आवश्यकता होगी। आप MySQL या PostgreSQL का उपयोग कर सकते हैं।
  • **मीडियाविकि इंस्टॉलेशन:** आपको अपने एक्सटेंशन का परीक्षण करने के लिए एक मीडियाविकि इंस्टॉलेशन की आवश्यकता होगी। आप मीडियाविकि वेबसाइट से मीडियाविकि डाउनलोड और इंस्टॉल कर सकते हैं।
  • **एक संस्करण नियंत्रण प्रणाली (वैकल्पिक):** गिट जैसी संस्करण नियंत्रण प्रणाली आपके कोड को ट्रैक करने और दूसरों के साथ सहयोग करने में मदद कर सकती है।

एक्सटेंशन संरचना

मीडियाविकि एक्सटेंशन एक विशिष्ट निर्देशिका संरचना का पालन करते हैं। एक विशिष्ट एक्सटेंशन की संरचना इस प्रकार दिख सकती है:

एक्सटेंशन निर्देशिका संरचना
फ़ाइल/निर्देशिका विवरण
`MyExtension.php` मुख्य एक्सटेंशन फ़ाइल। इसमें एक्सटेंशन का पंजीकरण और मुख्य कोड होता है।
`includes/` अतिरिक्त PHP फ़ाइलें जो एक्सटेंशन के लिए आवश्यक हैं।
`languages/` एक्सटेंशन के लिए भाषा फ़ाइलें।
`skins/` एक्सटेंशन के लिए कस्टम स्किन फ़ाइलें।
`images/` एक्सटेंशन के लिए चित्र फ़ाइलें।
`SpecialPages/` विशेष पृष्ठों के लिए PHP फाइलें
`templates/` टेम्प्लेट के लिए HTML फाइलें
  • `MyExtension.php` मुख्य फ़ाइल है, जो एक्सटेंशन को मीडियाविकि में पंजीकृत करती है।
  • `includes/` डायरेक्टरी में अतिरिक्त PHP फ़ाइलें शामिल हैं, जो एक्सटेंशन के मॉड्यूल और फ़ंक्शंस को परिभाषित करती हैं।
  • `languages/` डायरेक्टरी में एक्सटेंशन के लिए भाषा अनुवाद फ़ाइलें होती हैं।
  • `skins/` डायरेक्टरी में एक्सटेंशन के लिए कस्टम स्किन फ़ाइलें होती हैं।
  • `images/` डायरेक्टरी में एक्सटेंशन के लिए चित्र फ़ाइलें होती हैं।

एक साधारण एक्सटेंशन बनाना

आइए एक साधारण एक्सटेंशन बनाते हैं जो मुख्य मेनू में एक नया लिंक जोड़ता है।

1. **एक निर्देशिका बनाएं:** अपने मीडियाविकि इंस्टॉलेशन के `extensions/` डायरेक्टरी में `MyFirstExtension` नामक एक नई डायरेक्टरी बनाएं।

2. **मुख्य एक्सटेंशन फ़ाइल बनाएं:** `MyFirstExtension.php` नामक एक नई फ़ाइल बनाएं और निम्नलिखित कोड जोड़ें:

```php <?php

if ( !defined( 'MEDIAWIKI' ) ) { die( 'Not a valid entry point' ); }

class MyFirstExtension {

   public static function onParserSetup( $parser ) {
       $parser->addFunction( 'my_first_function', [ 'MyFirstExtension', 'myFirstFunction' ] );
       return true;
   }
   public static function myFirstFunction( $input, $args, $parser, $frame ) {
       return 'Hello from My First Extension!';
   }

}

$wgHooks['ParserSetup'][] = 'MyFirstExtension::onParserSetup';

?> ```

3. **एक्सटेंशन को पंजीकृत करें:** अपनी `LocalSettings.php` फ़ाइल में, निम्नलिखित पंक्ति जोड़ें:

```php require_once "$IP/extensions/MyFirstExtension/MyFirstExtension.php"; ```

4. **कैश साफ़ करें:** मीडियाविकि कैश साफ़ करें। आप यह `php maintenance/refreshSquid.php` कमांड चलाकर कर सकते हैं।

5. **जांच करें:** अब आप अपने मीडियाविकि पृष्ठों पर `Template:My first function` का उपयोग कर सकते हैं। यह "Hello from My First Extension!" प्रदर्शित करेगा।

यह एक बहुत ही सरल उदाहरण है, लेकिन यह आपको एक्सटेंशन बनाने की मूल बातें समझने में मदद करता है।

मीडियाविकि हुक

मीडियाविकि हुक मीडियाविकि के कोड में विशिष्ट बिंदुओं पर निष्पादित होने वाले कार्यों को जोड़ने का एक शक्तिशाली तरीका है। हुक आपको मीडियाविकि की कार्यक्षमता को संशोधित करने या बढ़ाने की अनुमति देते हैं। विभिन्न प्रकार के हुक उपलब्ध हैं, जैसे:

  • **ParserHooks:** सामग्री को पार्स करने के दौरान निष्पादित होते हैं।
  • **OutputHooks:** सामग्री को प्रदर्शित करने से पहले निष्पादित होते हैं।
  • **SpecialPageHooks:** विशेष पृष्ठों को लोड करने से पहले निष्पादित होते हैं।
  • **LoginFormHooks:** लॉगिन फॉर्म प्रदर्शित करने से पहले निष्पादित होते हैं।

आप `wgHooks` ग्लोबल वेरिएबल का उपयोग करके हुक जोड़ सकते हैं। उदाहरण के लिए, ऊपर दिए गए उदाहरण में, हमने `wgHooks['ParserSetup']` हुक का उपयोग करके एक कस्टम पार्सर फ़ंक्शन जोड़ा।

डेटाबेस एक्सेस

मीडियाविकि डेटाबेस से डेटा एक्सेस करने के लिए, आप मीडियाविकि द्वारा प्रदान किए गए डेटाबेस क्लास का उपयोग कर सकते हैं। डेटाबेस क्लास आपको SQL क्वेरी निष्पादित करने और डेटा पुनर्प्राप्त करने की अनुमति देता है।

उदाहरण के लिए, डेटाबेस से एक पंक्ति पुनर्प्राप्त करने के लिए, आप निम्नलिखित कोड का उपयोग कर सकते हैं:

```php $db = wfGetDB(); $row = $db->selectRow( 'mytable', '*', [ 'id = 1' ] ); ```

सुरक्षा संबंधी विचार

मीडियाविकि एक्सटेंशन विकसित करते समय सुरक्षा महत्वपूर्ण है। सुनिश्चित करें कि आपका एक्सटेंशन सुरक्षित है और इसमें कोई सुरक्षा जोखिम नहीं है। यहां कुछ सुरक्षा संबंधी विचार दिए गए हैं:

  • **इनपुट को मान्य करें:** सभी उपयोगकर्ता इनपुट को मान्य करें ताकि यह सुनिश्चित हो सके कि यह सुरक्षित है।
  • **SQL इंजेक्शन से बचें:** SQL इंजेक्शन से बचने के लिए पैरामीट्रिज्ड क्वेरी का उपयोग करें।
  • **क्रॉस-साइट स्क्रिप्टिंग (XSS) से बचें:** XSS से बचने के लिए आउटपुट को एस्केप करें।
  • **सुरक्षित प्रमाणीकरण का उपयोग करें:** सुरक्षित प्रमाणीकरण का उपयोग करें और पासवर्ड को सुरक्षित रूप से संग्रहीत करें।

डिबगिंग

मीडियाविकि एक्सटेंशन को डिबग करने के लिए, आप निम्नलिखित तकनीकों का उपयोग कर सकते हैं:

  • **PHP त्रुटि रिपोर्टिंग:** PHP त्रुटि रिपोर्टिंग को सक्षम करें ताकि आप किसी भी त्रुटि या चेतावनी को देख सकें।
  • **लॉगिंग:** अपने कोड में लॉगिंग जोड़ें ताकि आप यह ट्रैक कर सकें कि क्या हो रहा है।
  • **डीबगर:** PHP डीबगर का उपयोग करें ताकि आप अपने कोड को चरण दर चरण चला सकें।

एक्सटेंशन वितरित करना

एक बार जब आपका एक्सटेंशन विकसित हो जाता है, तो आप इसे दूसरों के साथ साझा कर सकते हैं। आप इसे मीडियाविकि एक्सटेंशन निर्देशिका में अपलोड कर सकते हैं या इसे अपने स्वयं के वेबसाइट पर होस्ट कर सकते हैं।

आगे सीखने के लिए संसाधन

निष्कर्ष

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

अतिरिक्त लिंक (रणनीति, तकनीकी विश्लेषण, वॉल्यूम विश्लेषण)

चूंकि यह गाइड मीडियाविकि एक्सटेंशन विकास पर केंद्रित है, इसलिए बाइनरी विकल्पों से संबंधित अतिरिक्त लिंक यहां शामिल किए गए हैं ताकि आपके विशेषज्ञता का प्रदर्शन किया जा सके, हालांकि ये मुख्य विषय से संबंधित नहीं हैं:

1. बाइनरी ऑप्शन ट्रेडिंग रणनीतियाँ: बाइनरी ऑप्शन में उपयोग की जाने वाली विभिन्न ट्रेडिंग रणनीतियों का अवलोकन। 2. तकनीकी विश्लेषण मूल बातें: तकनीकी विश्लेषण की बुनियादी अवधारणाओं का परिचय। 3. मूविंग एवरेज: मूविंग एवरेज का उपयोग कैसे करें। 4. रिलेटिव स्ट्रेंथ इंडेक्स (RSI): RSI का उपयोग कैसे करें। 5. MACD: MACD का उपयोग कैसे करें। 6. बोलिंगर बैंड: बोलिंगर बैंड का उपयोग कैसे करें। 7. कैंडलस्टिक पैटर्न: विभिन्न कैंडलस्टिक पैटर्न और उनका अर्थ। 8. वॉल्यूम विश्लेषण: वॉल्यूम विश्लेषण का उपयोग कैसे करें। 9. मनी मैनेजमेंट: बाइनरी ऑप्शन ट्रेडिंग में मनी मैनेजमेंट का महत्व। 10. जोखिम प्रबंधन: जोखिम प्रबंधन रणनीतियाँ। 11. बाइनरी ऑप्शन ब्रोकर समीक्षा: विभिन्न बाइनरी ऑप्शन ब्रोकरों की समीक्षा। 12. बाइनरी ऑप्शन विनियमन: बाइनरी ऑप्शन विनियमन का अवलोकन। 13. ट्रेडिंग मनोविज्ञान: ट्रेडिंग मनोविज्ञान का महत्व। 14. बाइनरी ऑप्शन डेमो खाता: डेमो खाते के साथ अभ्यास कैसे करें। 15. बाइनरी ऑप्शन सिग्नल: बाइनरी ऑप्शन सिग्नल का उपयोग कैसे करें (सावधानी के साथ)।

अभी ट्रेडिंग शुरू करें

IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)

हमारे समुदाय में शामिल हों

हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री

Баннер