Developing MediaWiki extensions
- تطوير إضافات ميدياويكي: دليل المبتدئين
مقدمة
ميدياويكي (MediaWiki) هو برنامج الويكي (Wiki) الذي يشغل ويكيبيديا وغيرها من مواقع الويكي الكبيرة. قوته تكمن في قدرته على التوسع من خلال إضافات ميدياويكي (MediaWiki extensions). هذه الإضافات تسمح لك بتخصيص وظائف الويكي الخاص بك بشكل كبير، وإضافة ميزات جديدة، والتكامل مع الخدمات الخارجية. هذا الدليل موجه للمبتدئين الذين يرغبون في البدء في تطوير إضافاتهم الخاصة.
المتطلبات الأساسية
قبل البدء، تحتاج إلى فهم أساسي لـ:
- PHP : لغة البرمجة التي يعتمد عليها ميدياويكي.
- HTML و CSS: لتصميم الواجهة.
- JavaScript: لإضافة تفاعلية للواجهة.
- MySQL: نظام إدارة قواعد البيانات الذي يستخدمه ميدياويكي (أو MariaDB).
- Git: نظام التحكم في الإصدارات لتتبع التغييرات في التعليمات البرمجية.
- مفاهيم البرمجة كائنية التوجه (Object-Oriented Programming): تساعد في تنظيم التعليمات البرمجية.
- إطار عمل ميدياويكي (MediaWiki Framework): فهم بنيته الداخلية.
إعداد بيئة التطوير
1. **تنزيل ميدياويكي:** قم بتنزيل أحدث إصدار من ميدياويكي من موقعهم الرسمي (https://www.mediawiki.org/wiki/Download). 2. **إعداد قاعدة البيانات:** قم بإعداد قاعدة بيانات MySQL/MariaDB وتهيئتها لميدياويكي. 3. **بيئة التطوير المحلية:** استخدم بيئة تطوير محلية مثل XAMPP أو MAMP أو Docker لتشغيل ميدياويكي على جهازك. 4. **تمكين وضع المطور:** في ملف `LocalSettings.php`، قم بتعيين `$wgDebugToolbar` على `true` لتمكين شريط أدوات التصحيح.
هيكل الإضافة
تتبع إضافات ميدياويكي هيكلًا قياسيًا:
- `Extension.json`: ملف يصف الإضافة (الاسم، الوصف، المؤلف، الإصدار، إلخ.).
- `specialpages/`: يحتوي على ملفات الصفحات الخاصة (Special Pages).
- `includes/`: يحتوي على ملفات PHP التي تحتوي على منطق الإضافة.
- `languages/`: يحتوي على ملفات اللغة للترجمة.
- `skins/`: يحتوي على ملفات CSS و JavaScript لتخصيص المظهر.
- `maintenance/`: يحتوي على أدوات الصيانة.
إنشاء أول إضافة
لنبدأ بإنشاء إضافة بسيطة تعرض رسالة "Hello, World!".
1. **إنشاء دليل الإضافة:** قم بإنشاء دليل جديد للإضافة (مثلاً، `MyFirstExtension`). 2. **إنشاء `Extension.json`:** أنشئ ملف `Extension.json` داخل دليل الإضافة بالنقش التالي:
```json {
"name": "MyFirstExtension", "version": "1.0", "author": "Your Name", "description": "A simple extension that displays 'Hello, World!'", "url": "https://example.com", "license": "GPL-2.0-or-later", "type": "extension"
} ```
3. **إنشاء ملف PHP:** أنشئ ملف PHP (مثلاً، `MyFirstExtension.php`) داخل دليل `includes/` بالنقش التالي:
```php <?php
class MyFirstExtension {
public static function onAfterPageDisplay( $output ) {
$output->addHTML( '
Hello, World!
' );
return $output; }
}
$wgHooks['AfterPageDisplay'][] = 'MyFirstExtension::onAfterPageDisplay';
?> ```
هذا الكود يربط دالة `onAfterPageDisplay` بالخطاف (hook) `AfterPageDisplay`، والذي يتم تنفيذه بعد عرض الصفحة.
4. **تثبيت الإضافة:** قم بتثبيت الإضافة عن طريق إضافة سطر `wfLoadExtension( 'MyFirstExtension' );` إلى ملف `LocalSettings.php`. 5. **تحديث الذاكرة المؤقتة:** قم بتحديث الذاكرة المؤقتة لميدياويكي عن طريق زيارة `https://your-mediawiki-site/w/index.php?title=Special:PurgeCache`.
الآن، يجب أن ترى الرسالة "Hello, World!" في أسفل كل صفحة.
المفاهيم الأساسية في تطوير الإضافات
- **الخطافات (Hooks):** نقاط في كود ميدياويكي تسمح لك بتنفيذ التعليمات البرمجية الخاصة بك. الخطافات هي وسيلة قوية لتعديل سلوك ميدياويكي دون تغيير الكود الأساسي.
- **واجهات برمجة التطبيقات (APIs):** يوفر ميدياويكي مجموعة واسعة من واجهات برمجة التطبيقات التي تسمح لك بالتفاعل مع البيانات والوظائف الداخلية.
- **قواعد البيانات:** تتطلب العديد من الإضافات التفاعل مع قاعدة البيانات. استخدم واجهات برمجة تطبيقات قاعدة البيانات لميدياويكي للوصول إلى البيانات وتعديلها.
- **النماذج (Forms):** لإنشاء نماذج، استخدم API Forms أو HTML Forms مع معالجة PHP.
- **الصفحات الخاصة (Special Pages):** تسمح لك بإنشاء صفحات جديدة في ميدياويكي. قم بتحديدها في ملفات `specialpages/`.
- **الأحداث (Events):** يمكن للاضافات الاستماع إلى الأحداث التي تحدث في ميدياويكي والاستجابة لها.
أفضل الممارسات
- **التعليقات:** قم بتعليق التعليمات البرمجية الخاصة بك بشكل جيد لتسهيل فهمها وصيانتها.
- **التحقق من الأخطاء:** قم بتضمين معالجة الأخطاء للتعامل مع المشكلات المحتملة.
- **الأمان:** كن على دراية بمخاطر الأمان وتجنب الثغرات الأمنية.
- **التوثيق:** قم بتوثيق الإضافة الخاصة بك حتى يتمكن الآخرون من استخدامها.
- **التوافق:** اختبر الإضافة الخاصة بك مع إصدارات مختلفة من ميدياويكي.
استراتيجيات التداول ذات الصلة (لإضافة ميزات متعلقة بالتمويل)
- تداول الاتجاه
- تداول الاختراق
- تداول النطاق
- مؤشر المتوسط المتحرك
- مؤشر القوة النسبية (RSI)
- مؤشر MACD
- تحليل فيبوناتشي
- الشموع اليابانية
- تحليل الحجم
- استراتيجية التداول الخوارزمي
- تداول السكالبينج
- تداول الدقيقة
- تداول اليوم
- تداول المراكز
- إدارة المخاطر
التحليل الفني وتحليل حجم التداول
- الرسوم البيانية الخطية
- الرسوم البيانية الشريطية
- الرسوم البيانية الشموعية
- مؤشرات الاتجاه
- مؤشرات التقلب
- حجم التداول
- مؤشرات الحجم
- التحليل الأساسي
- التحليل العاطفي
- التحليل بين الأسواق
- توقعات السوق
- تداول الأخبار
- تداول التحليل الفني
- تداول التحليل الأساسي
- تداول التحليل الكمي
الموارد الإضافية
- ميدياويكي:وثائق المطور (https://www.mediawiki.org/wiki/Developer_documentation)
- ميدياويكي:الخطافات (https://www.mediawiki.org/wiki/Hooks)
- ميدياويكي:واجهات برمجة التطبيقات (https://www.mediawiki.org/wiki/API)
- ميدياويكي:مجتمع المطورين (https://www.mediawiki.org/wiki/Community)
خاتمة
تطوير إضافات ميدياويكي يمكن أن يكون مجزيًا للغاية. باستخدام هذه الإرشادات والموارد، يمكنك البدء في تخصيص الويكي الخاص بك وإضافة ميزات جديدة لتلبية احتياجاتك الخاصة. تذكر أن التعلم المستمر والتجريب هما المفتاح لإتقان تطوير إضافات ميدياويكي.
ابدأ التداول الآن
سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين