การปรับน้ำหนักโมดูล: อะไรคือความเสี่ยงและสิ่งที่ต้องระวัง


14

วันนี้ฉันเปลี่ยนน้ำหนักของโมดูลที่กำหนดเองของฉันเพื่อเปลี่ยนวิธีการดำเนินการของ hooks (hook_form_alter) ฉันเปลี่ยนน้ำหนักเป็น 1 ค่าที่หนักกว่าน้ำหนักของโมดูลอื่น ดูเหมือนว่าสิ่งที่ปลอดภัยที่สุดที่จะทำแทนที่จะให้น้ำหนักแบบ "สุ่ม" ที่ 100 โมดูลดั้งเดิมคือโมดูลหลัก (แปล) ดังนั้นฉันหวังว่าฉันจะไม่ทำลายอะไรเลย

เมื่อทำการปรับน้ำหนักของโมดูลเพื่อเปลี่ยนลำดับการประมวลผลของ hooks สิ่งใดบ้างที่ควรระวังและความเสี่ยงเกี่ยวข้องอะไรบ้าง

สิ่งที่ฉันคิดได้: พฤติกรรมที่ไม่พึงประสงค์จากการมีเพศสัมพันธ์สูง

คำตอบ:


10

ไม่มีคำตอบทั่วไปสำหรับเรื่องนี้มันขึ้นอยู่กับโมดูล บางสิ่งที่ฉันจะนำมาพิจารณา (ใน Drupal 6):

  • hook_boot ถูกเรียกเมื่อโมดูลถูกโหลด ดังนั้นเฉพาะโมดูลที่เบากว่าที่คุณได้รวมไว้ หากคุณพึ่งพาโค้ดจากโมดูลอื่นที่หนักกว่าคุณตรวจสอบให้แน่ใจว่าคุณได้รวมโค้ดเหล่านั้นด้วยตนเอง

  • หากโมดูลมีค่าเริ่มต้นน้ำหนักอื่นที่ไม่ใช่ 0 ก็หมายความว่าโมดูลนี้ตั้งค่าน้ำหนักนี้โดยเฉพาะ ตรวจสอบไฟล์. install ของโมดูลเนื่องจากเป็นไปได้มากว่าจะมีการตั้งค่าน้ำหนักไว้ที่ใดและด้วยโชคเล็กน้อยจะมีความคิดเห็นอธิบายว่าทำไม! (สิ่งนี้อาจเป็นจริงแม้ว่าน้ำหนักจะเป็นศูนย์)

  • โมดูลที่ตั้งค่าน้ำหนักต่ำหรือสูงมากมักจะมีเหตุผลที่ดีสำหรับมัน ( ต้องทำงานก่อน / หลังทุกอย่างอื่น) โดยทั่วไปโมดูลการพัฒนาทำเช่นนี้แม้ว่าคนอื่นอาจจะเช่นกัน เก็บโมดูลเหล่านี้เป็นครั้งแรก / ครั้งสุดท้ายเว้นแต่คุณจะมีเหตุผลที่ดี

  • ดูที่การพึ่งพาของโมดูล (คนที่ขึ้นอยู่กับโมดูลและคนที่ขึ้นอยู่กับโมดูลนี้) เป็นการดีที่จะเก็บโมดูลเหล่านี้ในลำดับเดียวกัน หากคุณต้องเปลี่ยนคำสั่งวิธีเดียวที่จะเข้าใจคำว่า consequnces คือดูรหัส

  • ใช้สามัญสำนึก ข้อมูลที่เพิ่มโดยโมดูล (พูดกับโหนดที่โหลดโหนด) จะไม่สามารถใช้ได้กับโมดูลที่เบากว่าโมดูลนี้


1
ความแตกต่างของ Drupal 7 คืออะไร?
DrCord

3

ฉันไม่คิดว่าจะมีคำตอบทั่วไปสำหรับเรื่องนี้ จะเกิดอะไรขึ้นเมื่อคุณปรับน้ำหนักโมดูลขึ้นอยู่กับโมดูลที่เกี่ยวข้องและหากคุณเปลี่ยนน้ำหนักของโมดูลมากเกินไปฉันจะจินตนาการว่าคุณจะได้ผลลัพธ์ที่คาดเดาไม่ได้

ถ้าคุณต้องการลดความเสี่ยงให้เหลือเพียงแค่พิจารณาอย่างแม่นยำว่าโมดูลของคุณกำลังทำอะไรอยู่ คุณแก้ไขข้อมูลอะไร คุณกำลังทำการเปลี่ยนแปลงที่สำคัญกับโครงสร้างข้อมูลหรือคุณเปลี่ยนแปลง cosmetic เพิ่มเติมหรือไม่ ฉันคิดว่าความเสี่ยงที่ใหญ่ที่สุดจะเปลี่ยนข้อมูลที่มีอยู่ในทางที่ไม่คาดคิด หากคุณระมัดระวังและปรับน้ำหนักโมดูลเท่าที่ควรคุณไม่ควรมีปัญหามากเกินไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.