الجزء 4 - WordPress والبرمجة الموجهة للكائنات: مثال على WordPress - التصميم

نشرت: 2022-02-03

في هذه المرحلة ، لدينا متطلبات محددة بوضوح كما تم وصفها في الجزء 3 من هذه السلسلة (تحقق من ذلك هنا إذا فاتتك).

حان الوقت الآن لبدء التفكير في تصميم مكوننا الإضافي الجديد والمحسّن!

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

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

بعد ذلك ، سنركز على بعض الأجزاء الرئيسية من المكون الإضافي ونناقش كيف توصلنا إلى تصميمنا.

تشريح صفحة الإعدادات

دعنا نلقي نظرة فاحصة على صفحة المسؤول الخاصة بالمكوِّن الإضافي.

ستلاحظ وجود عنوان ("تحديد إعدادات محاولات تسجيل الدخول") ، وعدة أقسام تحتوي على بعض الحقول ، وزر "تغيير الخيارات" أسفل الصفحة.

يتكون كل قسم من عنوان ، مثل "الإحصائيات" ، وعدد قليل من الحقول.

كل حقل له عنوان على اليسار ، وبقية محتوياته على الجانب الأيمن. هناك حقول نصية وأزرار اختيار ومربعات اختيار ، وبعضها ، مثل "Total Lockouts" ، يعرض فقط المعلومات ولا يمكن تعديلها مباشرة بواسطة المستخدم الإداري.

تتضمن بعض الحقول أيضًا وصفًا ، مثل حقل "اتصال الموقع" ، ولكن ليس جميعها.

مع وضع ما سبق في الاعتبار ، يتعين علينا تقسيمها إلى أجزاء مفاهيمية ستصبح لاحقًا فئات.

تسمح لنا واجهة برمجة تطبيقات إعدادات WordPress بتسجيل صفحات الإعدادات والأقسام داخل تلك الصفحات والحقول داخل الأقسام:

الصفحات ← الأقسام ← الحقول

لقد فكرنا ، لماذا لا نضيف "طبقة" أخرى ، العناصر ، من أجل تسهيل توسيع المكون الإضافي في المستقبل.

الصفحات ← الأقسام ← الحقول ← العناصر

لذلك ، الصفحات والأقسام هي ما أوضحناه بالفعل أعلاه ، وستحتوي الحقول على عناصر من أي نوع محتوى على الجانب الأيمن.

مع الأخذ في الاعتبار كل هذه الأنواع المختلفة من العناصر ، ذهبنا مع فئة Element والعديد من الفئات ، وقمنا بتوسيعها ، لمربعات الاختيار ، وأزرار الاختيار ، والأرقام وما إلى ذلك التي ستؤدي إلى إخراج مختلف.

قد نحتاج أيضًا إلى إضافة المزيد من الصفحات والأقسام في المستقبل. لذلك من المحتمل أننا سنحتاج إلى توسيع فئات صفحة المسؤول والأقسام هذه.

الشيء نفسه ينطبق على الحقول. ستمتد فئات "إجمالي عمليات الإغلاق" و "عمليات الإغلاق النشطة" وما إلى ذلك نفس الفئة (الأصلية).

إليك صورة مبسطة توضح تلك العلاقات:

بالطبع ، لم يتم تضمين كافة "المكونات" في الرسم التخطيطي.

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

التفكير والتلخيص

حان الوقت الآن لبدء التفكير في ما تفعله المكونات المختلفة للمكون الإضافي الخاص بنا. خلال مرحلة التصميم ، لا يتعين علينا الخوض في الكثير من التفاصيل حول كيفية عمل شيء ما.

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

في الصورة المرئية أعلاه ، نرى كيف يتم تنفيذ واجهة مستخدم بواسطة فئات متعددة.

انتبه إلى حقيقة أن واجهة المستخدم يتم تنفيذها بواسطة فئات الإحصائيات وسجلات التأمين والجدول والعناصر التي يشار إليها بالفئات الرئيسية . ليست هناك حاجة لفئات Radio / Number / Checkbox Element لتنفيذ الواجهة مباشرةً ، نظرًا لأنها ترث جميع الواجهات من فئتها الأصلية. ومع ذلك ، يمكن للفئة الفرعية تجاوز طريقة من صنفها الأصلي.

نظرًا لأننا نعلم أن المكون الإضافي الخاص بنا سيتعامل مع الإعدادات ، يمكننا أن نفترض بأمان أننا سنقرأ ونكتب قيمها. أي القدرة على الحصول على الخيارات وتعيينها وإزالتها .

سيتم تجميع كل هذه الإجراءات معًا في الفصل. سنقوم على الأرجح بتخزين خياراتنا في قاعدة بيانات WordPress أو شيء من هذا القبيل. في الوقت الحالي ، لا يتعين علينا الاهتمام بكيفية ومكان تخزين بياناتنا.

يمكننا الاحتفاظ بتجريد خيارات الحصول على / تعيين / إزالة في أذهاننا ، وتبسيط الأمور من الناحية المفاهيمية ، والاستمرار في تصميم المكون الإضافي الخاص بنا.

ملف البرنامج المساعد الرئيسي

هنا ، سنوفر بعض المعلومات حول المكون الإضافي لـ WordPress من خلال تعليق الرأس ونقوم ببعض التهيئة. سننظم الكود الخاص بنا ، من خلال تغليف كل شيء في فصل دراسي صغير.

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

الفئات المحتملة

لقد استغرقنا بعض الوقت لمحاولة معرفة الفصول التي سنحتاجها وانتهى بنا الأمر بقائمة على النحو التالي:

  • يعيد المحاولة
  • تأمينات
  • بسكويت
  • رسائل خاطئة
  • اشعارات البريد الالكتروني
  • إشعارات المسؤول
  • أزرار
  • سجلات القفل
  • نشط / إجمالي عمليات الإغلاق
  • عنوان IP

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

في قسم "عام" ، على سبيل المثال ، ستبدو العلاقات بين طبقاتنا كما يلي:

سيكون قسم "الإحصائيات" مماثلاً لهذا:

أخيرًا ، ستكون "سجلات التأمين" مشابهة جدًا لـ "الإحصائيات":

استنتاج

حتى الآن حددنا متطلباتنا وفكرنا في تصميم مكوننا الإضافي الجديد والمحسّن. شرحنا كيف توصلنا إلى هيكلنا وقدمنا ​​أيضًا بعض المخططات البسيطة التي توضح كيفية ارتباط فصولنا ببعضها البعض.

انقر هنا لقراءة الجزء الخامس في سلسلة البرمجة الشيئية

أنظر أيضا

  • WordPress and Object-Oriented Programming - نظرة عامة
  • الجزء 2 - WordPress والبرمجة الموجهة للكائنات: مثال من العالم الحقيقي
  • الجزء 3 - WordPress والبرمجة الموجهة للكائنات: مثال WordPress - تحديد النطاق