drupal 7 – Ajuste del peso del módulo: ¿cuáles son los riesgos y las cosas a tener en cuenta?

Pregunta:

Hoy cambié el peso de un módulo personalizado mío para cambiar el método de ejecución de los ganchos (hook_form_alter). Cambié el peso a 1 valor más pesado que el peso del otro módulo. Esto parecía lo más seguro en lugar de darle un peso "aleatorio" de 100. El módulo original es un módulo central (traducción), así que espero no haber roto nada.

Al ajustar el peso de un módulo para cambiar el orden de ejecución de los ganchos, ¿cuáles son las cosas a tener en cuenta y cuáles son los riesgos involucrados?

En lo que puedo pensar: comportamiento no deseado como resultado de un alto acoplamiento.

Respuesta:

Bueno, no hay una respuesta general a esto, realmente depende de los módulos. Algunas de las cosas que tomaría en consideración (en Drupal 6):

  • hook_boot se llama a medida que se cargan los módulos; por lo que solo se han incluido módulos que son más ligeros que usted. Si confía en el código de otro módulo que es más pesado que usted, asegúrese de incluirlo manualmente.

  • Si un módulo tiene por defecto un peso distinto de 0, significa que este módulo estableció específicamente este peso. Verifique el archivo .install de ese módulo, ya que es muy probable que sea donde se establece el peso, y con un poco de suerte habrá un comentario que explique por qué. (esto puede ser cierto incluso si el peso es cero)

  • Los módulos que establecen un peso muy bajo o muy alto generalmente tienen una buena razón para ello ( deben ejecutarse antes / después de todo lo demás). Normalmente, los módulos de desarrollo hacen esto, aunque otros también podrían hacerlo. Mantenga estos módulos primero / último a menos que tenga una buena razón para ello.

  • Mire las dependencias del módulo (aquellas de las que depende el módulo y las que dependen de este módulo). Lo ideal es mantener estos módulos en el mismo orden. Si debe cambiar el orden, la única forma de comprender las consecuencias es mirar el código.

  • Usa el sentido común. La información que agrega un módulo (por ejemplo, a un nodo en la carga del nodo) no estará disponible para los módulos más livianos que este.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım