وحدات Drupal 8 المخصصة - إنشاء وحدات دروبال 8 فعالة مع أفضل الممارسات

نشرت: 2020-03-17

يمكن أن تتراوح وحدات Drupal 8 المخصصة من كونها بسيطة للغاية إلى معقدة للغاية ، اعتمادًا على الحاجة إلى التخصيص. يمكن إطلاق العنان للقوة الحقيقية لدروبال من خلال وحدات مخصصة في دروبال 8. بغض النظر عن تعقيد الوحدة المخصصة ، فإن اتباع بعض أفضل الممارسات يمكن أن يساعدك في إنشاء وحدات مخصصة أكثر كفاءة. اذا هيا بنا نبدأ!

في الآونة الأخيرة ، كنت أبحث عن وحدة نمطية في دروبال وشيء خطر ببالي. في عالم دروبال ، عندما تبحث عن حلول أو تفكر فيها ، فإن أول شيء قد تسمعه هو ، "هناك وحدة لذلك!". في حين أن هناك ما يقرب من 70 وحدة أساسية في دروبال ، فإن الوحدات الإضافية المساهمة التي أنشأها مجتمع دروبال هي التي تعمل على توسيع وظائف النظام الأساسي. ومع دروبال 8 ، هناك بنية مختلفة تمامًا ونهج حديث تجاه CMS ، مع تحول نحو توجيه الكائن لتحسين الكفاءة الكلية وجودة البرامج. إن إنشاء وحدة Drupal 8 المخصصة لتوسيع قدرات دروبال ليس هو نفسه كما كان في دروبال 7.

دروبال 8 وحدات مخصصة

ما هي الوحدة المخصصة في دروبال 8؟ لماذا ننشئ واحدة؟

وحدة Drupal 8 المخصصة هي في الأساس وحدة مكونة من وظائف مخصصة. يمكن أن تبدأ وحدة دروبال المخصصة بوحدة نمطية مساهمة تحتاج إلى تخصيصات صغيرة أو وحدة دروبال 8 جديدة تمامًا مع مجموعات جديدة من الوظائف غير الموجودة والتي تلائم المشروع بشكل مخصص. أو في بعض الأحيان ، يستدعي الترحيل من دروبال 7 إلى دروبال 8 وحدة مخصصة لأن وحدة دروبال 7 غير متوفرة في دروبال 8. تم تصميم وحدة دروبال 8 المخصصة أساسًا لتوسيع الوظائف الأساسية لدروبال ، والتي تأتي في حد ذاتها مع مجموعة مدمجة من الوحدات الأساسية.

بغض النظر عن مدى تجربتك مع الإصدارات السابقة من دروبال ، فإن تطوير الوحدة في دروبال 8 له مجموعة من التحديات الخاصة به. لإعطائك فكرة عادلة ، هناك بعض الاختلافات بين دروبال 7 ودروبال 8 ، أهمها أن دروبال 8 يتطلب أحدث إصدار من PHP 7 لتشغيله ويستخدم سيمفوني ، وهو إطار عمل PHP يعتمد على البرمجة الموجهة للكائنات. ومع ذلك ، فإن نهج دروبال 8 الجديد هو نهج مستقبلي وفتح الأبواب لمجموعة أكبر من المطورين الذين هم على دراية جيدة بمفاهيم OOP و MVC.

أيضًا ، هناك تغييرات في طريقة إنشاء الوحدة وهناك بعض أفضل الممارسات لمواكبة معايير المجتمع. دعونا نتحدث أكثر عن هذا.

تغيير في هيكل ملف دروبال 8

هناك نقطة مهمة يجب تذكرها وهي أنه في تطوير وحدات دروبال 8 ، يختلف هيكل الملف تمامًا عن تلك الموجودة في دروبال 7. يتم تخزين الوحدات النمطية في دروبال 8 في دليل / modules ، على عكس دروبال 7 حيث تم حجز هذا الدليل للنواة الوحدات. وحدات دروبال 8 الأساسية تنتقل الآن إلى الدليل / core .
بعد ذلك ، للسماح لـ Drupal 8 بمعرفة وجود الوحدة المخصصة الخاصة بك ، تحتاج إلى إنشاء ملف .info.yml الذي يوفر البيانات الوصفية. هذه العملية مماثلة لتلك المستخدمة في دروبال 7.

الاسم - هذا المفتاح هو توفير اسم للوحدة المخصصة الخاصة بك.
النوع - يحدد هذا المفتاح نوع الامتداد (وحدة / سمة / ملف تعريف).
الوصف - يوفر هذا المفتاح وصفًا تفصيليًا للوحدة المخصصة (يتم عرضها في صفحة قائمة الوحدات النمطية).
الحزمة - يحدد هذا المفتاح الحزمة التي يجب تضمين الوحدة فيها.
الإصدار - يحدد إصدار الوحدة النمطية.

إذا كان ملفك يبدو مثل " blogexmple_module.info.yml " ، فسيكون التركيب كما يلي-
اسم - وحدة blogexmple
اكتب - وحدة
الوصف - نموذج تجريبي بسيط
حزمة - مخصص
الإصدار - 1.0.0
الأساسية - 8.x

استخدام التكوين قبل الكود

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

استخدم ما يقدمه دروبال

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

كثرة الطباخين يفسد الطبخة

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

معايير البيئة والترميز

بيئة التطوير لها تأثير مهم لأنها تضمن تشغيل مشروع دروبال دون أي متاعب. تضمن شركات تطوير Drupal أن الفريق بأكمله يعمل في نفس بيئة التطوير بالضبط من أجل سير عمل فعال.

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