Modül ağırlığını ayarlama: dikkat edilmesi gereken riskler ve şeyler nelerdir?


14

Bugün, kancaların yürütme yöntemini (hook_form_alter) değiştirmek için özel bir modülümün ağırlığını değiştirdim. Ağırlığı diğer modülün ağırlığından 1 kat daha ağır olarak değiştirdim. Bu 100 "rastgele" bir ağırlık vermek yerine yapılacak en güvenli şey gibi görünüyordu. Orijinal modül bir çekirdek modülü (çeviri) olduğunu, bu yüzden umarım bir şey kırmadı.

Kancaların yürütme sırasını değiştirmek için bir modülün ağırlığını ayarlarken, dikkat edilmesi gerekenler nelerdir ve içerdiği riskler nelerdir?

Ne düşünebilirim: yüksek eşleşmenin sonucu olarak istenmeyen davranış.

Yanıtlar:


10

Buna genel bir cevap yok, gerçekten modüllere bağlı. Dikkate alacağım bazı şeyler (Drupal 6'da):

  • hook_boot modüller yüklendiğinde çağrılır; bu nedenle yalnızca sizden daha hafif olan modüller dahil edilmiştir. Sizden daha ağır olan başka bir modülün koduna güveniyorsanız, bunları manuel olarak eklediğinizden emin olun.

  • Bir modül varsayılan olarak 0 dışında bir ağırlığa sahipse, bu modülün bu ağırlığı özellikle ayarladığı anlamına gelir. Bu modülün .install dosyasını kontrol edin, çünkü büyük olasılıkla ağırlık ayarlanmıştır - ve biraz şansla nedenini açıklayan bir yorum olacaktır! (ağırlık sıfır olsa bile bu doğru olabilir)

  • Set çok düşük veya çok yüksek ağırlık ya genelde (bunun için iyi bir nedeniniz olduğunu Modüller gerekir her şeyden önce / sonra çalıştırın). Diğerleri de olsa, genellikle geliştirme modülleri bunu yapar. İyi bir nedeniniz olmadığı sürece bu modülleri ilk / son olarak saklayın.

  • Modülün bağımlılıklarına bakın (modülün bağımlı olanlar ve bu modüle bağlı olanlar). İdeal olarak bu modülleri aynı sırada tutun. Sırayı değiştirmek zorunda kalırsanız, consequnces'ı anlamanın tek yolu koda bakmaktır.

  • Sağduyu kullanın. Bir modül tarafından eklenen bilgiler (düğüm yükündeki bir düğüme söyleyin) bundan daha hafif olan modüllerde kullanılamaz.


1
Drupal 7 için fark var mı?
DrCord

3

Dürüst olmak gerekirse, bunun genel bir cevabı olduğunu düşünmüyorum. Modül ağırlığını ayarladığınızda ne olur, ilgili modüllere bağlıdır ve çok fazla modülün ağırlığını değiştirirseniz, tahmin edilemeyen bazı sonuçlarla sonuçlanabileceğinizi düşünürüm.

Bununla birlikte, riskinizi en aza indirmek istiyorsanız, modülünüzün ne yaptığını tam olarak düşünün. Hangi verileri değiştiriyorsunuz? Veri yapılarında büyük değişiklikler mi yapıyorsunuz yoksa değişiklikler daha mı kozmetik? En büyük risk, sanırım, mevcut verileri beklenmedik bir şekilde değiştirmek olacaktır. Dikkatli olursanız ve modül ağırlıklarını çok az ayarlıyorsanız, çok fazla sorun yaşamamalısınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.