it-swarm.asia

تعديل وزن الوحدة: ما هي المخاطر والأشياء التي يجب الانتباه إليها؟

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

عند تعديل وزن الوحدة من أجل تغيير ترتيب تنفيذ الخطافات ، ما هي الأشياء التي يجب الانتباه إليها وما هي المخاطر التي ينطوي عليها ذلك؟

ما يمكنني التفكير فيه: سلوك غير مرغوب فيه نتيجة اقتران عالية.

14
Bart

حسنًا ، لا توجد إجابة عامة على ذلك ، فهي تعتمد حقًا على الوحدات. بعض الأشياء التي يجب أن آخذها بعين الاعتبار (في Drupal 6):

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

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

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

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

  • استخدام الحس السليم. لن تتم إتاحة المعلومات التي تتم إضافتها بواسطة الوحدة النمطية (على سبيل المثال للعقدة عند تحميل العقدة) للوحدات أخف من هذه الوحدة.

10
Netuxo Ltd

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

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

3
Lendrick