MediaWiki Manual:Modules

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

```wiki

MediaWiki Manual:Modules

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

ما هي الوحدات؟

ببساطة، الوحدة هي ملف PHP يحتوي على مجموعة من الدوال، والثوابت، والخصائص (variables) المترابطة. تسمح لك الوحدات بتجميع الكود ذي الصلة معاً، مما يجعل من السهل إعادة استخدامه في أجزاء مختلفة من إضافتك أو حتى في إضافات أخرى. بدون الوحدات، يمكن أن يصبح كود الإضافة فوضوياً وصعباً في الفهم والتعديل.

الوحدات تشبه إلى حد كبير الفئات (Classes) في البرمجة الشيئية (Object-Oriented Programming - OOP)، ولكنها لا تتطلب تعريف فئة. يمكن للوحدة أن تحتوي على دوال بسيطة دون الحاجة إلى هيكل فئة كامل.

لماذا استخدام الوحدات؟

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

كيفية إنشاء وحدة

1. إنشاء ملف PHP: أنشئ ملف PHP جديدًا في دليل إضافتك. اتبع اصطلاح تسمية واضحًا، مثل `MyExtension/modules/MyModule.php`. الدليل `modules` هو المكان الموصى به لتخزين الوحدات.

2. إضافة تعليمات `<?php` : ابدأ الملف بتاغ PHP الافتتاحي `<?php`.

3. كتابة الكود: اكتب الدوال، والثوابت، والخصائص التي تريد تضمينها في الوحدة.

4. إضافة تعليمات `?>` : اختتم الملف بتاغ PHP الختامي `?>` (اختياري، لكن يفضل إضافته).

مثال على وحدة بسيطة (`MyExtension/modules/MyModule.php`):

```php <?php

/**

* وحدة بسيطة للتعامل مع بعض العمليات الحسابية.
*/

/**

* إضافة رقمين.
*
* @param int $a الرقم الأول.
* @param int $b الرقم الثاني.
* @return int مجموع الرقمين.
*/

function addNumbers( $a, $b ) {

 return $a + $b;

}

/**

* طرح رقمين.
*
* @param int $a الرقم الأول.
* @param int $b الرقم الثاني.
* @return int الفرق بين الرقمين.
*/

function subtractNumbers( $a, $b ) {

 return $a - $b;

}

// ثابت يمثل قيمة مهمة define( 'MY_MODULE_CONSTANT', 123 );

?> ```

كيفية تضمين وحدة في كود MediaWiki

لاستخدام وحدة في كود MediaWiki، يجب عليك تضمينها باستخدام الدالة `wfLoadExtensionMessages()`. يتم ذلك عادةً في ملف `extension.json` الخاص بإضافتك.

1. تعديل `extension.json` : أضف قسم `modules` إلى ملف `extension.json`. يجب أن يحتوي هذا القسم على قائمة بالوحدات التي تريد تضمينها.

مثال (`MyExtension/extension.json`):

```json {

 "name": "MyExtension",
 "version": "1.0",
 "description": "وصف إضافتي",
 "author": "أنا",
 "url": "https://example.com",
 "license": "GPL-2.0-or-later",
 "modules": [
   "MyModule"
 ]

} ```

2. استخدام الوحدة في كود PHP: بعد تضمين الوحدة في `extension.json`، يمكنك استخدام الدوال والثوابت التي تحتوي عليها في كود PHP الخاص بإضافتك. للوصول إلى الدوال، استخدم اسم الوحدة متبوعاً بشرطة مائلة (`/`) واسم الدالة.

مثال:

```php <?php

// ... بعض الكود الآخر ...

$sum = MyModule::addNumbers( 5, 3 ); echo "المجموع: " . $sum;

echo "القيمة الثابتة: " . MyModule::MY_MODULE_CONSTANT;

// ... المزيد من الكود ...

?> ```

لاحظ أننا نستخدم `MyModule::addNumbers()` للوصول إلى الدالة `addNumbers()` داخل الوحدة `MyModule`. وبالمثل، نستخدم `MyModule::MY_MODULE_CONSTANT` للوصول إلى الثابت `MY_MODULE_CONSTANT`.

أفضل الممارسات لاستخدام الوحدات

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

أمثلة متقدمة

  • الوحدات التي تعتمد على بعضها البعض: يمكنك جعل وحدة تعتمد على وحدة أخرى. في هذه الحالة، يجب عليك تضمين كلتا الوحدتين في `extension.json`.
  • الوحدات التي تستخدم الاعتمادية (Dependency Injection): يمكنك استخدام الاعتمادية لتمرير الكائنات إلى وحداتك، مما يجعلها أكثر مرونة وقابلة للاختبار.
  • الوحدات التي تستخدم الأنماط التصميمية (Design Patterns): يمكنك استخدام الأنماط التصميمية مثل Singleton أو Factory لإنشاء وحدات أكثر قوة وقابلة للتطوير.

الوحدات والخيارات الثنائية

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

يمكن أن تساعد الوحدات في تنظيم هذه الوظائف المعقدة وتسهيل صيانتها وتحديثها.

الخلاصة

الوحدات هي أداة قوية لتطوير إضافات MediaWiki. من خلال تنظيم الكود الخاص بك في وحدات، يمكنك تحسين إمكانية قراءته وصيانته وإعادة استخدامه. باتباع أفضل الممارسات الموضحة في هذا الدليل، يمكنك إنشاء إضافات MediaWiki قوية وقابلة للتطوير. تذكر أن فهم الوحدات هو خطوة أساسية نحو إتقان تطوير إضافات MediaWiki. ```

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

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

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

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

Баннер