MediaWiki scripting

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

```wiki

برمجة MediaWiki: دليل شامل للمبتدئين

مقدمة

برمجة MediaWiki هي عملية توسيع وظائف واجهة MediaWiki باستخدام لغات البرمجة النصية، بشكل أساسي PHP و JavaScript و CSS. تتيح لك هذه البرمجة تخصيص مظهر وسلوك الويكي الخاص بك، وإضافة ميزات جديدة، ودمج خدمات خارجية. هذا المقال يهدف إلى تقديم مقدمة شاملة للمبتدئين في برمجة MediaWiki، مع التركيز على الجوانب الأساسية والأكثر شيوعًا. سنغطي أساسيات PHP داخل MediaWiki، استخدام JavaScript لتفاعلية الواجهة الأمامية، وتخصيص CSS لتغيير المظهر. سنستعرض أيضًا كيفية استخدام الخطافات (Hooks) لتعديل سلوك MediaWiki الأساسي.

فهم بيئة MediaWiki

قبل البدء في البرمجة، من المهم فهم كيفية عمل MediaWiki. يعتمد MediaWiki على مجموعة من المكونات الرئيسية:

  • PHP: اللغة الرئيسية المستخدمة في جانب الخادم (Server-side) لتشغيل المنطق الأساسي للمنصة.
  • MySQL/MariaDB: قاعدة البيانات المستخدمة لتخزين المحتوى والإعدادات.
  • JavaScript: اللغة المستخدمة لتفاعلية الواجهة الأمامية (Front-end).
  • CSS: اللغة المستخدمة لتحديد تصميم وتنسيق الواجهة الأمامية.
  • قوالب (Templates): تسمح بإعادة استخدام أجزاء من التعليمات البرمجية. راجع قالب:Template.
  • الإضافات (Extensions): تضيف وظائف جديدة إلى MediaWiki. راجع إضافة:Extension.
  • الخطافات (Hooks): نقاط في كود MediaWiki تسمح لك بإضافة التعليمات البرمجية الخاصة بك لتعديل السلوك الافتراضي. راجع الخطاف:Hook.

أساسيات PHP في MediaWiki

على الرغم من أن MediaWiki مكتوب بلغة PHP، إلا أنك لا تكتب عادةً ملفات PHP مستقلة. بدلاً من ذلك، تستخدم الخطافات (Hooks) لتنفيذ التعليمات البرمجية الخاصة بك في نقاط محددة في عملية تنفيذ MediaWiki.

الخطافات (Hooks) هي وظائف يتم استدعاؤها تلقائيًا بواسطة MediaWiki عند حدوث أحداث معينة، مثل عرض الصفحة، أو حفظ التعديل، أو إرسال البريد الإلكتروني. يمكنك تعريف وظائف PHP الخاصة بك وتسجيلها كخطافات لتنفيذ التعليمات البرمجية الخاصة بك.

مثال: خطاف لطباعة رسالة عند حفظ الصفحة

```php <?php /**

* إضافة رسالة عند حفظ الصفحة
*/

$wgHooks['ArticleSaveComplete'][] = 'myArticleSaveComplete';

function myArticleSaveComplete($article, $user, $text, $summary, $minor) {

 global $wgOut;

$wgOut->addHTML( '

تم حفظ الصفحة بنجاح!

' );

 return true;

} ?> ```

في هذا المثال:

  • `$wgHooks['ArticleSaveComplete'][] = 'myArticleSaveComplete';` يسجل الدالة `myArticleSaveComplete` كخطاف لحدث `ArticleSaveComplete`.
  • `myArticleSaveComplete` هي الدالة التي سيتم تنفيذها عند حفظ الصفحة.
  • `$wgOut->addHTML()` تضيف رسالة HTML إلى الصفحة.

ملاحظات هامة حول PHP في MediaWiki:

  • يجب وضع التعليمات البرمجية الخاصة بك في ملف PHP منفصل في دليل الإضافات الخاص بك (عادةً `extensions/MyExtension`).
  • يجب أن يكون لديك فهم جيد لـ PHP قبل البدء في البرمجة في MediaWiki.
  • استخدم واجهة برمجة التطبيقات (API) الخاصة بـ MediaWiki للوصول إلى البيانات وإجراء العمليات. راجع واجهة برمجة التطبيقات:API.
  • تجنب تعديل ملفات MediaWiki الأساسية مباشرةً، لأن ذلك قد يؤدي إلى مشاكل في الترقية.

استخدام JavaScript لتفاعلية الواجهة الأمامية

JavaScript يسمح لك بإضافة تفاعلية إلى واجهة المستخدم في MediaWiki. يمكنك استخدامه لتغيير مظهر الصفحة، والتحقق من صحة الإدخال، وإرسال طلبات إلى الخادم، وغير ذلك الكثير.

طرق إضافة JavaScript إلى MediaWiki:

  • ملفات JavaScript مخصصة: يمكنك إنشاء ملفات JavaScript مخصصة ووضعها في دليل `skins/YourSkin/js/` (حيث `YourSkin` هو اسم السكين الذي تستخدمه). يجب عليك بعد ذلك إضافة رابط إلى هذه الملفات في صفحة `MediaWiki:Common.js` أو `MediaWiki:YourSkin.js`.
  • وحدة:Module:JavaScript: يمكنك تضمين JavaScript مباشرة في قالب باستخدام علامات `<script>`. ومع ذلك، هذه الطريقة غير مستحسنة بشكل عام، لأنها تجعل الصيانة أكثر صعوبة.

مثال: إضافة تنبيه عند تحميل الصفحة

في ملف `skins/YourSkin/js/myScript.js`:

```javascript $(document).ready(function() {

 alert('تم تحميل الصفحة!');

}); ```

في `MediaWiki:Common.js`:

```javascript importArticle(['skins/YourSkin/js/myScript']); ```

ملاحظات هامة حول JavaScript في MediaWiki:

  • تأكد من استخدام مكتبة jQuery، وهي مضمنة في MediaWiki افتراضيًا.
  • استخدم `$(document).ready()` للتأكد من أن التعليمات البرمجية الخاصة بك يتم تنفيذها بعد تحميل الصفحة بالكامل.
  • تجنب استخدام JavaScript لإجراء عمليات حساسة للأمان على جانب العميل.
  • استخدم أدوات تصحيح أخطاء JavaScript (مثل أدوات المطور في المتصفح) لتحديد المشاكل وإصلاحها.

تخصيص CSS لتغيير المظهر

CSS يسمح لك بتغيير مظهر واجهة المستخدم في MediaWiki. يمكنك استخدامه لتغيير الألوان والخطوط والتخطيطات، وغير ذلك الكثير.

طرق إضافة CSS إلى MediaWiki:

  • ملفات CSS مخصصة: يمكنك إنشاء ملفات CSS مخصصة ووضعها في دليل `skins/YourSkin/css/` (حيث `YourSkin` هو اسم السكين الذي تستخدمه). يجب عليك بعد ذلك إضافة رابط إلى هذه الملفات في صفحة `MediaWiki:Common.css` أو `MediaWiki:YourSkin.css`.
  • وحدة:Module:CSS: يمكنك تضمين CSS مباشرة في قالب باستخدام علامات `<style>`. ومع ذلك، هذه الطريقة غير مستحسنة بشكل عام، لأنها تجعل الصيانة أكثر صعوبة.

مثال: تغيير لون الخلفية للصفحة

في ملف `skins/YourSkin/css/myStyle.css`:

```css body {

 background-color: #f0f0f0;

} ```

في `MediaWiki:Common.css`:

```css import url("skins/YourSkin/css/myStyle.css"); ```

ملاحظات هامة حول CSS في MediaWiki:

  • استخدم أدوات المطور في المتصفح لفحص عناصر HTML وتحديد أنماط CSS التي يجب تغييرها.
  • استخدم أسماء فئات (Classes) ومعرفات (IDs) محددة لتجنب التعارض مع أنماط CSS الأخرى.
  • تجنب استخدام أنماط CSS مضمنة (Inline styles)، لأنها تجعل الصيانة أكثر صعوبة.
  • استخدم التعليقات في CSS لشرح التعليمات البرمجية الخاصة بك.

استخدام الخطافات (Hooks) لتعديل سلوك MediaWiki

الخطافات (Hooks) هي آلية قوية لتعديل سلوك MediaWiki الأساسي دون الحاجة إلى تعديل ملفات MediaWiki الأساسية مباشرةً. يمكنك استخدام الخطافات لتنفيذ التعليمات البرمجية الخاصة بك في نقاط محددة في عملية تنفيذ MediaWiki، مثل:

  • `ArticleSaveComplete`: يتم استدعاؤه بعد حفظ الصفحة.
  • `ArticleView`: يتم استدعاؤه قبل عرض الصفحة.
  • `BeforeParse`: يتم استدعاؤه قبل تحليل محتوى الصفحة.
  • `AfterParse`: يتم استدعاؤه بعد تحليل محتوى الصفحة.

راجع قائمة الخطافات:List of hooks للحصول على قائمة كاملة بالخطافات المتاحة.

مثال: إضافة رابط مخصص إلى أعلى كل صفحة

```php <?php /**

* إضافة رابط مخصص إلى أعلى كل صفحة
*/

$wgHooks['BeforeDisplayNoContent'][] = 'myBeforeDisplayNoContent';

function myBeforeDisplayNoContent(&$text, &$skin) {

 global $wgOut;
 $wgOut->addHTML( '<a href="https://www.example.com">رابط مخصص</a>
' ); return true;

} ?> ```

أدوات التطوير والموارد

استراتيجيات الخيارات الثنائية (Binary Options) ذات الصلة (للتوضيح، هذا القسم يربط الموضوع بطلبك الأصلي)

على الرغم من أن هذا المقال يركز على برمجة MediaWiki، فمن المهم ملاحظة أن استخدام هذه المهارات يمكن أن يمتد إلى مجالات أخرى، مثل بناء تطبيقات ويب لمعالجة البيانات المالية. فيما يلي بعض استراتيجيات الخيارات الثنائية ذات الصلة التي يمكن أن تستفيد من تطوير الويب:

  • استراتيجية 60 ثانية: تتطلب مراقبة سريعة للأسعار وتنفيذ سريع للصفقات.
  • استراتيجية اختراق النطاق: تعتمد على تحديد نطاقات الأسعار وفتح صفقات بناءً على اختراق هذه النطاقات.
  • استراتيجية الاتجاه: تعتمد على تحديد الاتجاه العام للسوق وفتح صفقات في اتجاه هذا الاتجاه.
  • استراتيجية مارتينجال: تعتمد على مضاعفة حجم الصفقة بعد كل خسارة. (تحذير: هذه الاستراتيجية محفوفة بالمخاطر.)
  • استراتيجية المضاعفة: تعتمد على مضاعفة حجم الصفقة بعد كل ربح.
  • استراتيجية المتوسط المتحرك: تستخدم المتوسطات المتحركة لتحديد الاتجاهات ونقاط الدخول والخروج.
  • استراتيجية مؤشر القوة النسبية (RSI): تستخدم مؤشر RSI لتحديد مناطق ذروة الشراء والبيع.
  • استراتيجية مؤشر MACD: تستخدم مؤشر MACD لتحديد الاتجاهات ونقاط التقاطع.
  • استراتيجية بولينجر باندز: تستخدم بولينجر باندز لتحديد التقلبات ونقاط الدخول والخروج.
  • استراتيجية أنماط الشموع اليابانية: تعتمد على تحليل أنماط الشموع اليابانية للتنبؤ بحركة الأسعار.
  • تحليل حجم التداول: فهم حجم التداول يمكن أن يساعد في تأكيد الاتجاهات.
  • التحليل الفني: استخدام المؤشرات والرسوم البيانية لتحليل الأسعار.
  • تحليل الاتجاه: تحديد الاتجاه العام للسوق.
  • استراتيجية التداول المتأرجح: الاستفادة من تقلبات الأسعار قصيرة الأجل.
  • استراتيجية التداول اللحظي: فتح وإغلاق الصفقات بسرعة للاستفادة من تحركات الأسعار الصغيرة.
  • استراتيجية التداول على الأخبار: فتح الصفقات بناءً على الأخبار الاقتصادية والسياسية.
  • استراتيجية التداول العكسي: المراهنة على عكس الاتجاه الحالي.
  • استراتيجية التداول مع القطيع: اتباع الاتجاه السائد في السوق.
  • استراتيجية التداول المضاد للقطيع: المراهنة ضد الاتجاه السائد في السوق.
  • استراتيجية إدارة المخاطر: تحديد حجم الصفقة المناسب وتقليل الخسائر.
  • استراتيجية التنويع: توزيع الاستثمارات على أصول مختلفة.
  • استراتيجية تحديد الأهداف: تحديد أهداف الربح والخسارة مسبقًا.
  • استراتيجية الصبر: الانتظار للحصول على فرص التداول المناسبة.
  • استراتيجية الانضباط: الالتزام بخطة التداول.

الخلاصة

برمجة MediaWiki هي عملية قوية تسمح لك بتخصيص وتوسيع وظائف الويكي الخاص بك. من خلال فهم أساسيات PHP و JavaScript و CSS والخطافات، يمكنك إنشاء ميزات جديدة وتحسين تجربة المستخدم. تذكر أن تبدأ صغيرًا، وأن تختبر التعليمات البرمجية الخاصة بك بعناية، وأن تستخدم الموارد المتاحة لتعلم المزيد. آمل أن يكون هذا المقال قد قدم لك بداية جيدة في عالم برمجة MediaWiki. ```

ابدأ التداول الآن

سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер