WordPress and Object-Oriented Programming - نظرة عامة

نشرت: 2021-04-20

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

 <?php if ( have_posts() ) { while ( have_posts() ) { the_post(); // // Post Content here // } // end while } // end if ?>

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

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

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

المشكلة

لقد دفعك WordPress بالفعل إلى التفكير إجرائيًا. وعلى الرغم من أن WordPress يستخدم كائنات PHP طوال الوقت ، إلا أنه لا يتبع أن WordPress نفسه موجه للكائنات. هذا تفسير خاطئ شائع لما يدور حوله OOP والسبب الذي يجعل الكثير من الناس يعتقدون أن WordPress موجه للكائنات على الرغم من أنه ليس كذلك.

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

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

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

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

كيف تحل البرمجة الشيئية المشاكل

البرمجة الشيئية لها مفهومان مهمان: الفئات والكائنات .

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

لذا قبل المضي قدمًا ، من الضروري التأكد من فهمنا لما هو الكائن. دعنا نقسم جملة بسيطة كمثال:

"أنا آكل التفاح الأخضر".

التفاح هو الكائن ، والأخضر هو لون الكائن (خاصية الكائن) والفعل "أكل" هو الطريقة (الوظيفة).

تحدد الفئة خصائص وسلوك جميع الكائنات التي تستخدمها. يتم حل المشكلات باستخدام OOP من خلال الجمع بين "قوالب" البرمجة هذه بالطريقة الصحيحة.

قبل الغوص في الموضوع ، تتمثل الخطوة الأولى المهمة في قضاء بعض الوقت في تصميم الحل المقترح. في الأساس ، ما عليك القيام به هو:

  1. حدد المشكلة وما يجب أن يفعله البرنامج المساعد لحلها
  2. وصف الفئات وعلاقاتها وكذلك التفاعل بين الكائنات
  3. تحويل كل شيء إلى رمز
  4. مراجعة واختبار المشروع

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

في مقالة تالية متعلقة بـ OOP ، سنعرض مثالًا بسيطًا سيعيد الحياة إلى كل النظرية المذكورة أعلاه.

ميزات البرمجة الشيئية

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

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

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

استضافة موقع الويب الخاص بك مع Pressidium

ضمان استرداد الأموال لمدة 60 يومًا

اطلع على خططنا

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

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

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

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

استنتاج

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

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

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