다음 코드가 있으면 꼭두각시 수업이 있습니다.
class A {
require B
....
}
순환 종속성 오류가 발생합니다. 만약 내가 가지고 있다면:
class A {
include B
....
}
모든 것이 잘 작동합니다
답변
실제로는 매우 다릅니다. 말하자면 require B
수단 B
은 반드시 앞에 와야합니다 A
. 따라서 무언가가로 B
바뀌면 순환 의존성을 초래할 수 있습니다 require A
. 그리고 B
전혀 포함되어 있지 않으면 의존성 누락 오류가 발생합니다.
반면에, include B
단지 B
적용될 때마다 A
적용될 것이라고 말하면, 그들 사이의 순서는 언급되지 않습니다.
답변
이것은 꼭두각시 메일 링리스트에서 묻고 답했다 :
카탈로그를 적용해야 할 때 차이점이 분명합니다. include를 사용하면 include 시점에 내용을 평가했지만 모든 자원은 include 후에 명시 적으로 의존해야합니다. 요구 사항-의존성이 만들어 지지만 조심해야하며 이것이 원하는 결과인지 확인해야합니다.
-켄 이발사 요구 대 포함?