Respostas:
São coisas muito diferentes, na verdade. Dizer que os require B
meios B
devem vir antes A
(e, portanto, pode levar a dependências circulares se algo B
acontecer require A
). E se B
não estiver incluído, isso levará ao erro de dependências ausentes.
Por outro lado, include B
apenas diz B
que será aplicado sempre que A
for aplicado: não diz nada da ordem entre eles.
Isso foi solicitado (e respondido) na lista de discussão de bonecos:
A diferença é evidente quando o catálogo precisa ser aplicado. Com include você avaliou seu conteúdo no momento da inclusão - mas qualquer recurso deve ser explicitamente dependente após a inclusão. Com uma exigência - a dependência é criada para você - mas você deve ter cuidado e garantir que este seja o resultado desejado
- Ken Barber em Exigir vs Incluir?
require B
Na verdade, isso não significa queB
deve vir antesA
?