모듈 무게 조정 : 위험과주의 사항은 무엇입니까?


14

오늘 저는 hooks (hook_form_alter)의 실행 방법을 변경하기 위해 사용자 정의 모듈의 무게를 변경했습니다. 다른 모듈의 무게보다 무게를 1 값으로 크게 변경했습니다. 이것은 100의 "무작위"가중치를 부여하는 대신 가장 안전한 방법으로 보입니다. 원래 모듈은 핵심 모듈 (번역)이므로 아무 것도 깨지 않기를 바랍니다.

후크의 실행 순서를 변경하기 위해 모듈의 무게를 조정할 때,주의해야 할 사항과 관련된 위험은 무엇입니까?

내가 생각할 수있는 것 : 높은 결합으로 인한 원하지 않는 동작.

답변:


10

이것에 대한 일반적인 대답은 없으며 실제로 모듈에 달려 있습니다. 내가 고려해야 할 것들 중 일부는 Drupal 6에서 볼 수있다.

  • hook_boot는 모듈이로드 될 때 호출됩니다. 포함 된 것보다 가벼운 모듈 만 포함되어 있습니다. 자신보다 무거운 다른 모듈의 코드에 의존하는 경우 수동으로 포함해야합니다.

  • 모듈에 기본적으로 0 이외의 가중치가있는 경우이 모듈이이 가중치를 구체적으로 설정했음을 의미합니다. 모듈의 .install 파일을 확인하십시오.이 파일은 가중치가 설정되어있는 곳일 가능성이 높습니다. 운이 좋으면 이유를 설명하는 주석이 있습니다! (무게가 0 인 경우에도 마찬가지입니다)

  • 무게를 매우 낮게 또는 매우 높게 설정 한 모듈에는 일반적으로 그 이유가 있습니다 ( 다른 모든 작업 전후에 실행 해야 함 ). 일반적으로 개발 모듈이 다른 모듈도 마찬가지입니다. 적절한 이유가없는 한이 모듈을 먼저 / 마지막으로 유지하십시오.

  • 모듈의 의존성 (모듈이 의존하는 것과이 모듈에 의존하는 것들)을 살펴보십시오. 이 모듈을 동일한 순서로 유지하는 것이 이상적입니다. 순서를 변경해야하는 경우 결과를 이해하는 유일한 방법은 코드를 보는 것입니다.

  • 상식을 사용하십시오. 모듈에 의해 추가 된 정보 (예 : 노드로드시 노드)는이 것보다 가벼운 모듈에서는 사용할 수 없습니다.


1
Drupal 7의 차이점은 무엇입니까?
DrCord

3

솔직히 이것에 대한 일반적인 대답이 없다고 생각합니다. 모듈 무게를 조정할 때 발생하는 일은 관련된 모듈에 따라 크게 달라지며 너무 많은 모듈의 무게를 변경하면 예기치 않은 결과가 발생할 수 있다고 생각합니다.

즉, 위험을 최소화하려면 모듈이 수행하는 작업을 정확하게 고려하십시오. 어떤 데이터를 수정하고 있습니까? 데이터 구조를 크게 변경하고 있습니까? 가장 큰 위험은 기존 데이터를 예기치 않은 방식으로 변경하는 것입니다. 조심해서 모듈 무게를 조금만 조정하면 문제가 너무 많지 않아야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.