꼭두각시의 포함과 요구의 차이점은 무엇입니까? B …. } 순환 종속성 오류가 발생합니다. 만약

다음 코드가 있으면 꼭두각시 수업이 있습니다.

class A {
  require B

....
}

순환 종속성 오류가 발생합니다. 만약 내가 가지고 있다면:

class A {
  include B

....
}

모든 것이 잘 작동합니다



답변

실제로는 매우 다릅니다. 말하자면 require B수단 B은 반드시 앞에 와야합니다 A. 따라서 무언가가로 B바뀌면 순환 의존성을 초래할 수 있습니다 require A. 그리고 B전혀 포함되어 있지 않으면 의존성 누락 오류가 발생합니다.

반면에, include B단지 B적용될 때마다 A적용될 것이라고 말하면, 그들 사이의 순서는 언급되지 않습니다.


답변

이것은 꼭두각시 메일 링리스트에서 묻고 답했다 :

카탈로그를 적용해야 할 때 차이점이 분명합니다. include를 사용하면 include 시점에 내용을 평가했지만 모든 자원은 include 후에 명시 적으로 의존해야합니다. 요구 사항-의존성이 만들어 지지만 조심해야하며 이것이 원하는 결과인지 확인해야합니다.

-켄 이발사 요구 대 포함?