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

From binaryoption
Jump to navigation Jump to search
Баннер1

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

परिचय

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

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

MediaWiki एक्सटेंशन अनिवार्य रूप से PHP कोड के पैकेज होते हैं जो MediaWiki इंस्टॉलेशन में अतिरिक्त कार्यक्षमता प्रदान करते हैं। वे सरल टेम्प्लेट से लेकर जटिल मॉड्यूल तक हो सकते हैं जो डेटाबेस के साथ इंटरैक्ट करते हैं और यूजर इंटरफेस को बदलते हैं। एक्सटेंशन का उपयोग विभिन्न कार्यों के लिए किया जा सकता है, जैसे:

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

एक मानक MediaWiki एक्सटेंशन में आमतौर पर निम्नलिखित फाइलें और डायरेक्टरी शामिल होती हैं:

एक्सटेंशन संरचना
फाइल/डायरेक्टरी विवरण extension.json एक्सटेंशन के बारे में मेटाडेटा (नाम, संस्करण, लेखक, निर्भरताएँ)। hooks/ हुक की परिभाषाएँ, जो MediaWiki के विभिन्न बिंदुओं पर एक्सटेंशन को कोड निष्पादित करने की अनुमति देती हैं। specialpages/ विशेष पृष्ठ की परिभाषाएँ, जो सामान्य विकि पृष्ठों से अलग विशेष कार्यक्षमता प्रदान करती हैं। includes/ एक्सटेंशन के लिए आवश्यक PHP फाइलें। languages/ एक्सटेंशन के लिए भाषा फाइलें, जो अनुवाद प्रदान करती हैं। resources/ एक्सटेंशन के लिए CSS, JavaScript और इमेज फाइलें। docs/ एक्सटेंशन के लिए प्रलेखन फाइलें।

extension.json फाइल

extension.json फाइल एक्सटेंशन के बारे में महत्वपूर्ण जानकारी प्रदान करती है। यह JSON प्रारूप में होती है और इसमें निम्नलिखित फ़ील्ड शामिल होने चाहिए:

  • `name`: एक्सटेंशन का नाम।
  • `version`: एक्सटेंशन का संस्करण।
  • `author`: एक्सटेंशन का लेखक।
  • `url`: एक्सटेंशन की वेबसाइट या रिपॉजिटरी का URL।
  • `description`: एक्सटेंशन का संक्षिप्त विवरण।
  • `license-name`: एक्सटेंशन का लाइसेंस।
  • `dependencies`: एक्सटेंशन की निर्भरताएँ (अन्य एक्सटेंशन)।
  • `requires`: MediaWiki का न्यूनतम संस्करण।

उदाहरण:

```json {

 "name": "ExampleExtension",
 "version": "1.0",
 "author": "Your Name",
 "url": "https://example.com",
 "description": "This is an example extension.",
 "license-name": "GPL-2.0+",
 "dependencies": [],
 "requires": {
   "mw": "1.35.0"
 }

} ```

हुक (Hooks)

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

  • `BeforePageDisplay`: पृष्ठ प्रदर्शित होने से पहले निष्पादित होता है।
  • `AfterPageDisplay`: पृष्ठ प्रदर्शित होने के बाद निष्पादित होता है।
  • `ArticleSave`: लेख सहेजने के बाद निष्पादित होता है।
  • `UserLogin`: उपयोगकर्ता लॉग इन करने के बाद निष्पादित होता है।
  • `LoadExtensionSchemaUpdates`: डेटाबेस स्कीमा अपडेट के लिए।

हुक को `hooks/` डायरेक्टरी में PHP फाइलें बनाकर परिभाषित किया जाता है। प्रत्येक फ़ाइल में एक फ़ंक्शन होना चाहिए जो हुक को हैंडल करता है। फ़ंक्शन का नाम हुक के नाम के अनुरूप होना चाहिए, लेकिन उपसर्ग `hook` के साथ।

उदाहरण:

```php <?php

function hookBeforePageDisplay( &$article, &$parser ) {

 // पृष्ठ प्रदर्शित होने से पहले कुछ कोड निष्पादित करें।

$article->content .= "

This content was added by the ExampleExtension.

";

 return true;

} ```

विशेष पृष्ठ (Special Pages)

विशेष पृष्ठ सामान्य विकि पृष्ठों से अलग विशेष कार्यक्षमता प्रदान करते हैं। वे आमतौर पर व्यवस्थापकीय कार्यों या विशिष्ट उपकरणों के लिए उपयोग किए जाते हैं। विशेष पृष्ठों को `specialpages/` डायरेक्टरी में PHP फाइलें बनाकर परिभाषित किया जाता है। प्रत्येक फ़ाइल में एक वर्ग होना चाहिए जो `SpecialPage` वर्ग से विस्तारित होता है।

उदाहरण:

```php <?php

class SpecialExamplePage extends SpecialPage {

 public function __construct() {
   parent::__construct( 'ExamplePage', 'example-page' );
 }
 public function execute( $par ) {

$this->output->addHTML( '

This is the Example Special Page.

' );

 }

} ```

अन्य फाइलें और डायरेक्टरी

  • `includes/`: इस डायरेक्टरी में एक्सटेंशन के लिए आवश्यक PHP फाइलें शामिल हैं, जैसे कि कक्षाएं और कार्य।
  • `languages/`: इस डायरेक्टरी में एक्सटेंशन के लिए भाषा फाइलें शामिल हैं, जो अनुवाद प्रदान करती हैं।
  • `resources/`: इस डायरेक्टरी में एक्सटेंशन के लिए CSS, JavaScript और इमेज फाइलें शामिल हैं।
  • `docs/`: इस डायरेक्टरी में एक्सटेंशन के लिए प्रलेखन फाइलें शामिल हैं।

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

एक्सटेंशन का विकास एक जटिल प्रक्रिया हो सकती है, लेकिन यह MediaWiki की कार्यक्षमता को बढ़ाने का एक शक्तिशाली तरीका है। विकास प्रक्रिया में आमतौर पर निम्नलिखित चरण शामिल होते हैं:

1. **योजना:** एक्सटेंशन के उद्देश्य और कार्यक्षमता को परिभाषित करें। 2. **संरचना:** एक्सटेंशन के लिए फ़ाइल और डायरेक्टरी संरचना बनाएं। 3. **कोडिंग:** PHP, CSS और JavaScript का उपयोग करके एक्सटेंशन के लिए कोड लिखें। 4. **परीक्षण:** एक्सटेंशन का परीक्षण करें यह सुनिश्चित करने के लिए कि यह अपेक्षा के अनुरूप काम करता है। 5. **प्रलेखन:** एक्सटेंशन के लिए प्रलेखन लिखें। 6. **वितरण:** एक्सटेंशन को MediaWiki समुदाय के साथ साझा करें।

एक्सटेंशन की स्थापना

एक्सटेंशन को स्थापित करने के लिए, आपको एक्सटेंशन फ़ाइलों को MediaWiki इंस्टॉलेशन के `extensions/` डायरेक्टरी में अपलोड करना होगा। फिर, आपको `LocalSettings.php` फ़ाइल में निम्नलिखित पंक्ति जोड़नी होगी:

```php wfLoadExtension( 'ExampleExtension' ); ```

जहां `ExampleExtension` एक्सटेंशन के नाम से मेल खाता है।

एक्सटेंशन का डिबगिंग

एक्सटेंशन का डिबगिंग एक चुनौतीपूर्ण प्रक्रिया हो सकती है। कुछ उपयोगी डिबगिंग तकनीकें शामिल हैं:

  • PHP त्रुटि रिपोर्टिंग को सक्षम करें।
  • लॉग फाइलें जांचें।
  • डिबगिंग टूल का उपयोग करें।
  • MediaWiki समुदाय से मदद लें।

उन्नत विषय

  • **API का उपयोग:** MediaWiki API का उपयोग एक्सटेंशन को बाहरी सेवाओं के साथ एकीकृत करने के लिए किया जा सकता है।
  • **डेटाबेस इंटरैक्शन:** एक्सटेंशन डेटाबेस के साथ इंटरैक्ट करके डेटा संग्रहीत और पुनर्प्राप्त कर सकते हैं।
  • **सुरक्षा:** एक्सटेंशन को सुरक्षित रूप से डिजाइन और कार्यान्वित करना महत्वपूर्ण है ताकि सुरक्षा कमजोरियों से बचा जा सके।
  • **प्रदर्शन:** एक्सटेंशन को प्रदर्शन को ध्यान में रखते हुए डिजाइन किया जाना चाहिए ताकि यह MediaWiki की गति को प्रभावित न करे।
  • **अंतर्राष्ट्रीयकरण (I18n):** एक्सटेंशन को अंतर्राष्ट्रीयकरण के लिए डिजाइन किया जाना चाहिए ताकि यह विभिन्न भाषाओं का समर्थन कर सके।

सहायक संसाधन

निष्कर्ष

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

वॉल्यूम विश्लेषण तकनीकी विश्लेषण ट्रेडिंग रणनीतियाँ जोखिम प्रबंधन बाइनरी विकल्प प्लेटफॉर्म बाइनरी विकल्प ब्रोकर उच्च/निम्न विकल्प स्प्रेड विकल्प टच विकल्प नो-टच विकल्प 60 सेकंड का विकल्प बाइनरी विकल्प संकेत बाइनरी विकल्प रणनीति बाइनरी विकल्प डेमो खाता बाइनरी विकल्प जोखिम बाइनरी विकल्प लाभ वित्तीय बाजार विकि सॉफ्टवेयर PHP MySQL JavaScript CSS

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

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

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

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

Баннер