it-swarm.asia

أفضل الممارسات لبناء الوحدات باستخدام الفصول

أنا أتطلع لبدء إنشاء الوحدات النمطية الخاصة بي كصفوف الآن بعد أن يكون التحميل البطيء/التلقائي في Drupal 7 ، وأود أن ألقي نظرة على بعض الوحدات (المساهمة أو الأساسية) التي تقوم بها عمل عظيم لها.

هل هناك طريقة إبداعية لدمج الصف كخطافات؟ هل أقوم بتطبيق كل ميزة كمكوّن إضافي ctools؟

يجب على أي عابر أن يلاحظ أن D7 له جديد files[] الإعلانات في الوحدة النمطية .info ملفات للفئات/الواجهات ذات التحميل البطيء التلقائي: كتابة ملفات .info (Drupal 7.x) .

ما يلي قراءة جيدة للحصول على الدوافع والدستور (كما كانت) من Drupal برمجة دروبال من منظور موجه نحو الكائنات .

19
electblake

الوحدة ليست فئة بواسطة Crell هو ما يجب أن تقرأه أولاً.

أكبر OOP جزء في Drupal 7 هو طبقة تجريد قاعدة البيانات الجديدة (صممها نفس Crell وآخرون). يمكن إعادة استخدامها.

فمثلا:

شيء = لا يزال يناقشه الجدل هو إخفاء المعلومات . تطبق DBTNG ذلك بجعل خصائص الفئة محمية ومنع الوصول المباشر. من ناحية أخرى ، لدينا hook_query_alter () ويمكن تغييرها بحرية تقريبًا باستخدام طرق مختلفة by getter .

16
Berdir

هذا سؤال جيد.

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

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

3
Jeremy French

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

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

2
Bojan Zivanovic